我必须写一个c ++程序,要求用户输入一个整数 k ,然后输出k行星号,第一行从1星号开始,最后一行用k星号结束。
我可以让程序输出一个方形的星号,例如: (K = 5)
*****
*****
*****
*****
*****
它应该是这样的:
*
**
***
****
*****
我应该如何调整我的程序才能完成此任务? (注意:我必须使用两个for循环。)
int main() {
int k, cols, rows;
cout << " Please enter a number: ";
cin >> k;
for (cols = 1; cols < k + 1; cols++) {
for (rows = 1; rows < k + 1; rows++)
cout << "*";
cout << endl;
}
getchar();
getchar();
return 0;
}
答案 0 :(得分:1)
内循环应该运行col+1
次。因此,您需要将内部循环中的条件更改为rows < cols
,并通过将其起始值更改为rows
使cols
小于0
:
for (cols = 1; cols < k+1; cols++) {
for (rows = 0; rows < cols; rows++)
cout << "*";
cout << endl;
}