打印图形

题目描述
由键盘输入一个大写字母(A到Z中的任意一个),输出如下图所示由相关大写字母组成的图形。所输入的字母一定为输出文件的第一个字符(位于图形的左上角),其余部分的字母构成规律和分布由样例给出。

输入
只有一行,仅为一个大写字母。

输出
包含一个如样例所示的图形。注意图形的行数与输入的字母有关,图形中第一行最左侧一定是你输入的那个字母。

样例输入
复制样例数据
C
样例输出
CBAAB
BAA
A
做得死麻烦,不懂为啥要一每排打印偶数,一直改,难受。笨办法

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
char s[27]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int main()
{
    char c;
    scanf("%c",&c);
    int a=c-'A'+1,i,j;
    int x=a;
    for(i=1;i<=x;i++)
    {
       int xx=0;
       for(j=1;j<=2*x;j++)
       {
           if(j>=i&&j<=2*x-i)
           {
               if(a>=i)
               {
                   printf("%c",s[a-i]);
                   a--;
               }
               else
               {
                   printf("%c",s[xx++]);
               }
           }
           else
           {
               printf(" ");
           }
       }
        printf("\n");
        a=x;
    }
    return 0;
}

posted on 2018-12-17 00:24  湫叶  阅读(175)  评论(0编辑  收藏  举报

导航