字母圣诞树
1、题目内容
Description
题目描述
打印一个字母圣诞树。
输入
第一行是一个整数K,表示样例的个数。以后每个样例是一个大写英文字母,占一行。
输出
输出对应的字母圣诞树,每行末尾没有空格,每个圣诞树的最后一行前无空格。
样例输入
5
A
B
C
D
E
样例输出
A
AAA
A
AAA
B
BBBBB
A
AAA
B
BBBBB
C
CCCCCCC
A
AAA
B
BBBBB
C
CCCCCCC
D
DDDDDDDDD
A
AAA
B
BBBBB
C
CCCCCCC
D
DDDDDDDDD
E
EEEEEEEEEEE
2、题目分析
这种图形输出题,期末必定会考一个,做的次数多了会发现其实图形题才是比较简单的,不过图形题难点就在如何去找出一个图形与它输入的联系,即就是找到图形的规律。往往字符图形的话都会一下套路:通过输入字母的ACSII码,找到这个字母与字符A的数据差值n,然后就会发现这个数据n跟输出的图形有内在的关联,然后,再将行数与字符联系起来,就能找出图形规律。
3、参考代码
#include<stdio.h>
int main()
{
int k;
scanf("%d",&k);
while(k--)
{
char c;
int i,m,n,j;
scanf(" %c",&c);
m=c-'A'+1;
for(i=1;i<=m;i++)
{
for(j=1;j<=m;j++) //空格与行数的关系
{
printf(" ");
}
printf("%c\n",('A'+i-1)); //字符与行的关系
for(j=1;j<=m-i;j++) //空格与行的关系
{
printf(" ");
}
for(j=1;j<=2*i+1;j++) //字符与行的关系
{
printf("%c",('A'+i-1));
}
printf("\n");
}
}
return 0;
}