输出金字塔字母的问题求教
/*我是新手,学习到循环这一章,做课后的编程习题,遇到些困难,请高手指点一下。论坛里也有金字塔的贴,不过情形不大一样。要求:比如输入字母E,形成金字塔排列。
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
需要用到一个外部循环控制行,三个内部循环,一个控制空格,一个控制字母升序输出,一个控制字母降序输出。
升序的没问题,降序要怎么写?我很久弄不好。注意:因为只学到循环一章,后面的分支跳转if等语句都不能用。只能用while或for语句。*/
#include<stdio.h>
#define totle 65 //字母A的ASC码值
int main(void)
{
int line;
char letter,ch,fh,rh;
printf("请输入一个大写字母:\n");
scanf("%c",&letter);
for(line=0;line<=(letter-totle);line++)
{
for(ch='A';ch<=('A'+line);ch++) //升序输出字母
printf("%c",ch);
for(fh=0;fh<line;fh++) //降序这个我知道写的不对,重复执行了。
{
for(rh=totle+line-1;rh-totle>=0;rh--)
printf("%c",rh);
}
printf("\n");
}
getch();
return 0;
}
/*因为要搞懂降序输出,空格循环还没写。*/