题目:
输入一个大写的英文字母,输出空心的字母金字塔。
输入格式:
一个大写英文字母。
输出格式:
一个空心的大写英文字母金字塔,其中第1层的“A”在第1行的第40列,列从1开始计数。
输入样例:
E
输出样例:
A
B B
C C
D D
EEEEEEEEE
代码:
#include<stdio.h>
int main(){
char x;
scanf("%c",&x); //输入最大的字母
int z = -1; //计数从第二行开始两次打印之间所需空格数
int a = x;
int i = 65; //表示从A开始(ascll码)
int q = 1;
while(q){
char b = i;
for(int k = 39; ;k--){ //注意从第40列打印A则前面需要39个空格
for(int j = k;j>0;j--){
printf(" ");
}
printf("%c",b);
if(k<39){ //用来判断是否不是第一行
for(int w = z;w>0;w--){
if(i!=x){ //判断不是最大字母值
printf(" ");
}else{
printf("%c",b);
}
}
printf("%c",b);
}
if(i!=x){
printf("\n");
}
z+=2;
i++;
b = i;
if(i>a){ //如果i大于所输入最大值则跳出循环
q = 0;
break;
}
}
}
return 0;
}