1233 Cycle Matrix

Cycle Matrix

1、题目内容

Description
题目描述
给定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

2、题目分析

在做这中类型的题目的时候,主要就是需要考虑输入的数据与对应图形的内在联系与规律。图形题基本都是这样的思路,寻找规律并输出。做这个题目,可以这样观察它的规律,把一个图形每次取其中一块区域进行赋字符,其中所赋字符与所赋区域都跟行有一定的关系。

3、参考代码

#include<stdio.h>
int main()
{
	int k,n;
	scanf("%d",&k);
	while(k--)
	{
		int i,j,t;
		char str[51][51];
		scanf("%d",&n);
		for(i=0;i<n;i++) //n次赋值 
		{
		    for(j=i;j<2*n-1-i;j++)   //每次赋值都与行有一定关系 
			{
				for(t=i;t<2*n-1-i;t++)
				{
					str[j][t]='A'+n-1-i; //所赋的值与行有关系 
				}
		    }	
		}
		for(i=0;i<2*n-1;i++)
		{
		   for(j=0;j<2*n-1;j++)
		   {
		   	    printf("%c",str[i][j]);
		   }	
		   printf("\n");
		}	 
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42987451/article/details/83188980
今日推荐