Character Matrix
题目描述
按照示例的规律输出字符矩阵。 比如输入字母D
时,输出字符矩阵如下
ABCDCBA BBCDCBB CCCDCCC DDDDDDD CCCDCCC BBCDCBB ABCDCBA
字符矩阵行首、尾都无空格。
输入
每行一个大写英文字母,如果字符为#
,表示输入结束,不需要处理。
输出
依次输出对应的字符矩阵
样例输入
A B C #
样例输出
A ABA BBB ABA ABCBA BBCBB CCCCC BBCBB ABCBA
这道题可以将其分为几个不同的部分通过循环分别打印下来,注意ASCII码与字符的转换即可
#include <stdio.h>
int main()
{
int i,j;
char ch,s[30][30];
while(scanf("%c",&ch)!=EOF&&ch!='#')
{
for(i = 0;i <ch-64;i++)
{
for(j = 0;j < ch-64;j++)
{
if(j<=i)
printf("%c",'A'+i);
else
printf("%c",'A'+j);
}
for(j = 1;j < ch-64;j++)
{
if(j >= ch-65-i)
printf("%c",'A'+i);
else
printf("%c",ch-j);
}
printf("\n");
}
for(i = 0;i < ch-65;i++)
{
for(j = 0;j < ch-65;j++)
{
if(j < ch-65-i)
printf("%c",ch-1-i);
else
printf("%c",'A'+j);
}
printf("%C",ch);
for(j = 0;j < ch-65;j++)
{
if(j > i)
printf("%c",ch-1-i);
else
printf("%c",ch-1-j);
}
printf("\n");
}
}
return 0;
}
这道题也可以通过数组来做