【发布时间】:2015-08-17 12:11:55
【问题描述】:
尝试在 C 编程中打印半金字塔时遇到了一些问题。当我将高度设置为 7 时的输出应该是这样的:
1
22
333
1111
22222
333333
1111111
我的代码为:
int main()
{
int height, i, row, j;
printf("Enter the height: ");
scanf("%d", &height);
for (i = height; i >= 0; i--) //print the number of rows based on input
{
for (row = 0; row < i-1; row++) {
printf(" "); // print spaces for each rows
//Edited as I just realized that I did it in the Java way. So sorry
/*for (j = row-1; j < row; j++) {
printf("%d", j);
}*/
}
printf("\n");
}
return 0;
}
我现在设法打印出每行的倒置空格。但是我有点坚持如何打印出每一行的数字,因为我注释掉的那个会使我的 exe 停止工作。
【问题讨论】:
-
您是否阅读了
printf()的文档? -
您不希望
j循环嵌套在row循环内;您想在打印所有空格之后打印数字。而且,是的,printf(row)不会做任何有用的事情。 -
选民介意解释?我不确定第三个 for 循环,这就是为什么我将它注释掉并且错误只发生在第三个 for 循环这就是为什么我从不显示错误消息。
-
你有没有看清楚printf函数的使用方法
-
对已评论的第三个 printf 函数投反对票