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");
		}
	}
	
}
相关推荐
熬了夜的程序员16 小时前
【LeetCode】74. 搜索二维矩阵
线性代数·算法·leetcode·职场和发展·矩阵·深度优先·动态规划
点云SLAM16 小时前
矩阵奇异值分解算法(SVD)的导数 / 灵敏度分析
人工智能·线性代数·算法·机器学习·矩阵·数据压缩·svd算法
坚持编程的菜鸟16 小时前
LeetCode每日一题——矩阵置0
c语言·算法·leetcode·矩阵
零基础的修炼16 小时前
Linux---线程封装
linux·c++·算法
chao18984416 小时前
基于MATLAB的双摆系统阻抗控制实现
算法
龙腾AI白云18 小时前
大模型-AIGC技术在文本生成与音频生成领域的应用
算法
坚持编程的菜鸟21 小时前
LeetCode每日一题——困于环中的机器人
c语言·算法·leetcode·机器人
Aurorar0rua1 天前
C Primer Plus Notes 09
java·c语言·算法
我不是QI1 天前
DES 加密算法:核心组件、加解密流程与安全特性
经验分享·算法·安全·网络安全·密码学