xtu oj 1233 Cycle Matrix

题目描述

给定N,输出一个N*N的矩阵,矩阵为N层,每层是一个字符,从A到Z。 比如说N=3,矩阵为

CCCCC
CBBBC
CBABC
CBBBC
CCCCC

输入

第一行是一个整数K(K≤50),表示样例数。 每个样例占1行,为一个整数N(1≤N≤26)。

输出

每个样例输出对应的矩阵,行尾没有多余的空格。

样例输入
3
1
2
3

样例输出
A
BBB
BAB
BBB
CCCCC
CBBBC
CBABC
CBBBC
CCCCC

AC代码

#include
int main()
{
	int T;
	scanf("%d",&T);
	while(T--){
		int n,i,j;
		scanf("%d",&n);
		int len=2*n-1;//行数 
	    char a[100][100]={};
	    for(i=0;i<=len/2;i++){//上 
	    	for(j=i;j=len-i;j--){
				a[i][j]='A'+j-n+1;
			}
		}
	    for(i=len-1;i>=len/2+1;i--){//下 
	    	for(j=len-i-1;j<=i;j++){
	    		a[i][j]='A'+i-n+1;
			}
		}
	   for(i=len/2+1;i=i+1;j--){
	    		a[i][j]=j-n+1+'A';
			}
		}
		for(i=0;i

解题思路:利用二维数组进行打印,分6块找规律即可。找规律要耐心啊!

如n=3时

上:CCCCC       

         BBB 

           A

下   BBB

    CCCCC

你可能感兴趣的:(算法,c#,c语言)