现在我在读“C的Primer Plus”,由斯蒂芬·普拉塔并有在第6章,其在书中没有解决的练习4,所以我不能检查,如果我做到了正常。我的代码的工作原理应该如此,但我想知道也许有一些更好或更清洁的解决方案。你们能帮助我吗?我的代码低于练习的描述。Ç的Primer Plus第6章练习4检查
这里的描述: 有一个程序请求用户输入一个大写字母。使用嵌套循环产生的金字塔模式是这样的:
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
的模式应该扩展到输入的字符。例如,前面的模式将由输入值E产生。提示:使用外部循环来处理行。在一行中使用三个内部循环,一个用于处理空格,一个用于按升序打印字母,另一个用于按降序打印字母。
#include <stdio.h>
int main(void) {
char ch;
char row;
char spaces;
char let;
char back;
printf("Please, insert an uppercase letter: ");
scanf("%c", &ch);
for(row = 'A'; row <= ch; row++) {
for(spaces = ch; spaces > row; spaces--)
printf("%c", ' ');
for(let = 'A'; let <= row; let++)
printf("%c", let);
for(back = let; back > 'A' + 1; back--)
printf("%c", back - 2);
printf("\n");
}
return 0;
}
这是一个很好的解决方案,恭喜。 – 2015-01-27 00:48:08
如果代码正在工作(并产生预期的输出),它就属于https://codereview.stackexchange.com。除了“更好或更清洁的解决方案”之外,一定要包含更多关于您正在寻找的建议的信息。 – 2015-01-27 00:49:11
@remyabel感谢您的链接和建议。 – 2015-01-27 00:53:50