oj字符矩阵

思路:找到规律遍历

AC代码:

复制代码
#include<stdio.h>
int cha(int a,int b){
	int t;
	if(a>=b){
		t=a-b;
	}
	else{
		t=b-a;
	}
	return t;
}
int main(){
	char S;
	while(scanf("%c",&S)!=EOF&&S!='#'){
		int n=S-'A'+1;
		char str[100][100];
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				char s=S;
				if(i==j){
					str[i][j]=s;
				}
				int t=cha(i,j);
				s=s-t;
				str[i][j]=s;
			}
		}//完成左边上半部分
		for(int k=1;k<=n;k++){
            for(int i=(2*n-1),j=1;i!=j;i--,j++){
		    	str[k][i]=str[k][j];
	    	}
		}//左右对齐
		for(int i=1;i<=n;i++){
			for(int j=1;j<=(2*n-1);j++){
				printf("%c",str[i][j]);
			}
			printf("\n");
		}
		//上下对称
		for(int i=n-1;i>=1;i--){
			for(int j=1;j<=(2*n-1);j++){
				printf("%c",str[i][j]);
			}
			printf("\n");
		}
	}
	
}
相关推荐
Dlrb12118 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Tisfy8 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy8 小时前
【算法四十七】152. 乘积最大子数组
算法
淘矿人10 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops
Cosolar10 小时前
万字详解:RAG 向量索引算法与向量数据库架构及实战
数据库·人工智能·算法·数据库架构·milvus
落羽的落羽11 小时前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划
萑澈12 小时前
算法竞赛入门:C++ STL核心用法与时空复杂度速查手册
数据结构·c++·算法·stl
Godspeed Zhao12 小时前
从零开始学AI16——SVM
算法·机器学习·支持向量机
江屿风13 小时前
C++OJ题经验总结(竞赛)1
开发语言·c++·笔记·算法