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");
		}
	}
	
}
相关推荐
野犬寒鸦2 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
霖霖总总2 小时前
[小技巧66]当自增主键耗尽:MySQL 主键溢出问题深度解析与雪花算法替代方案
mysql·算法
rainbow68892 小时前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
wangjialelele2 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
驱动探索者3 小时前
linux mailbox 学习
linux·学习·算法
ringking1233 小时前
autoware-1:安装环境cuda/cudnn/tensorRT库函数的判断
人工智能·算法·机器学习
大闲在人3 小时前
8. 供应链与制造过程术语:产能
算法·制造·供应链管理·智能制造·工业工程
一只小小的芙厨3 小时前
寒假集训笔记·以点为对象的树形DP
c++·算法
历程里程碑4 小时前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
执风挽^4 小时前
Python基础编程题2
开发语言·python·算法·visual studio code