要求用户从键盘输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:
A
ABA
ABCBA
ABCDCBA
程序运行结果示例1:
Please input a capital:
D↙
____A
___ABA
__ABCBA
_ABCDCBA
程序运行结果示例2:
Please input a capital:
F↙
______A
_____ABA
____ABCBA
___ABCDCBA
__ABCDEDCBA
_ABCDEFEDCBA
(说明:上面运行结果示例中,每行字母前面的下划线"_"代表屏幕上实际输出的是空格,最后一行前面有一个空格,倒数第二行有两个空格,以此类推。)
输入提示信息:"Please input a capital:\n"
输入格式: "%c"
输出格式:"%c"
#include<stdio.h>
int main(){
int rows,spaces,up,down;
char enter;
printf("please enter a captial(A~Z):\n");
scanf("%c", &enter);
for(rows = 0; rows <= enter - 'A'; rows++){ //外层循环控制行数,输入的字母是第几个就有几行
for(spaces = enter - 'A';spaces >= rows; spaces--) //控制空格
printf(" ");
for(up = 0; up <= rows; up++) //字母升序打印,第几行就有几个字母,从A开始打印
printf("%c",'A' + up);
for(down = rows; down > 0; down--) //字母降序打印,从输入字母的前一个字母开始打印
printf("%c",'A' + down - 1);
printf("\n");
}
return 0;
}