需求:打印字母金字塔
思路:
外部使用for循环控制行,里面嵌套3个for循环,
一个控制空格打印,
一个控制字母升序打印,
一个控制字母降序打印
样例:
输入:3
输出: A
ABA
ABCBA
#include<stdio.h>
int main()
{
int storey, space, i;
char ch;
printf("Please enter the number of rows to print: ");
scanf("%d", &storey);
for(i = 1; i <= storey; i++) //控制层数
{
for(space = i; space < storey; space++) //控制打印空格,随着层数的递增,打印的空格递减
printf(" ");
for(ch = 'A'; ch < 'A'+i; ch++) //打印升序字母,每增加一层,字母多打印一个
putchar(ch);
for(ch -= 2; ch >= 'A'; ch--) //打印降序字母,执行升序循环后,ch的值要比将要打印的降序字母大2
putchar(ch);
putchar('\n');
}
return 0;
}