字母金字塔多重嵌套循环求思路。
让程序输入一个大写字母,是嵌套循环产生像下面这样的金字塔图案;
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
这种团要求扩展到用户输入的字符,例如,前面的图案是在输入E时需要产生的。提示:试用一个外部循环来处理行数,在每一行试用三个内不循环,一个处理空格, 一个升序打印字母,一个降序打印字母。
开始我是想从最底层开始写起,不过在我能想到的范围内我都想了底层的没有写出来。 然后我又想从中间开始写起。但写着写着觉得也不好写。想了两种头了还没想出来。求高人说下对于这样的循环编写的思路是什么……
[解决办法]
// A
// ABA
// ABCBA
// ABCDCBA
//ABCDEDCBA
#include <stdio.h>
#include <conio.h>
int n,h,s,i;
int main() {
while (1) {
printf("Please input a character(A-Z):");
fflush(stdout);
rewind(stdin);
scanf("%c",&n);
if ('A'<=n && n<='Z') {
for (h=0;h<n-'A'+1;h++) {
for (s=n-'A'-h;s>0 ;s--) printf(" " );
for (i='A' ;i<'A'+h;i++) printf("%c",i);
for (i='A'+h ;i>='A' ;i--) printf("%c",i);
printf("\n" );
}
getch();
break;
}
}
return 0;
}