【发布时间】:2011-11-02 00:44:23
【问题描述】:
我写了这个程序,
include <stdio.h>
int main(){
int size = 5;
int row;
int col;
for (col=0; col<size; col++){
for (row=0; row<col;row++){
printf(" ");
}
for (row=0; row <(size-col) ; row++){
printf("*");
if(col<=size){
printf("*");
}
}
printf("\n");
}
return 0;
}
它应该是一个三角形
*********
*******
*****
***
*
但是每一行都有一个额外的 *。有什么问题?
非常感谢!
【问题讨论】:
-
您对
col和row变量的使用都是倒退的。我只是指出这一点,因为您似乎正在学习C。 -
真的吗?我完全同意将它们称为专门指行或列的东西似乎很愚蠢,而实际上它们只是帮助您更改空格和星号数量的变量。如果你能详细说明我会非常感激。该死的,虽然我提交了它,但我真的很震惊,我想知道我是否会得到它的风格点。谢谢
-
@colle:我会更害怕从沉睡中激怒不一致凹痕的古神。
-
嘿missingno,我从来没有设法在Blue 中抓到你。有一天……说真的,我希望你不是指这个程序!缩进对我来说似乎是合法的,至少如果它错了,我在整个程序中保持错误的一致性。如果有问题,请告诉我如何改进。谢谢
-
@colle:是的,你的程序的缩进是......对不起......可怕。无论如何,我所说的
col和row的意思是你在外循环中迭代rows,但你调用的是迭代器变量col。然后,在内部循环中,迭代某一特定行的列,调用迭代器变量row。