XTU,C语言,字母圣诞树

题目描述

打印一个字母圣诞树。

输入

第一行是一个整数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

这道题不是很难,关键在于循环和ASCII码,要小心回车会被作为字符输入

#include <stdio.h>

int main() 
{
    int n,i,j,k,l;
    char ch,a;
    scanf("%d",&n);
    while(n--)
    {
        getchar();
        scanf("%c",&ch);
        a = A;
        for(i = 0;i < ch - @;i++)
        {
            for(j = 0;j < ch - @;j++)
            {
                printf(" ");
            }
            printf("%c
",a);
            for(l = 0;l < ch -A-i;l++)
            {
                 printf(" ");
            }
            for(k = 0;k < 2*(a - @)+1;k++)
            {
                printf("%c",a);
            }
            printf("
");
            a++;
        }
    }
    return 0;
}
经验分享 程序员 微信小程序 职场和发展