Description | ||
Character Matrix题目描述按照示例的规律输出字符矩阵。 比如输入字母 ABCDCBA BBCDCBB CCCDCCC DDDDDDD CCCDCCC BBCDCBB ABCDCBA 字符矩阵行首、尾都无空格。 输入每行一个大写英文字母,如果字符为 输出依次输出对应的字符矩阵 样例输入A B C # 样例输出A ABA BBB ABA ABCBA BBCBB CCCCC BBCBB ABCBA |
思路:先把上半部分打表存数组里,然后输出就好咯。
#include<stdio.h>
int main()
{
int i,j,k,n;
char ch;
int a[52][52],b[52][52];
while(scanf("%c",&ch)&&ch!='#')
{
n=ch-65+1;
for(i=1;i<=n;i++)//上半部分
{
for(j=1;j<=n;j++)
{
if(i==1)
{
a[i][j]=j;
a[i][2*n-j]=j;
}
if(j<=i)
{
a[i][j]=i;
a[i][2*n-j]=i;
}
if(j>i)
{
a[i][j]=j;
a[i][2*n-j]=j;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=2*n-1;j++)
{
printf("%c",a[i][j]+65-1);
}
printf("\n");
}
for(i=n-1;i>=1;i--)//下半部分倒着输出就OK啦
{
for(j=2*n-1;j>=1;j--)
{
printf("%c",a[i][j]+65-1);
}
printf("\n");
}
//printf("\n");
}
return 0;
}