我需要打印这个三角形:
*
**
***
****
*****
******
*******
********
使用 FOR 和 WHILE 循环。我需要帮助,我已经找到了 for 循环版本我只需要将它转换为 while 循环但我尝试的一切都没有给我正确的输出!感谢您的帮助!
到目前为止我的代码:
#include <iostream>
using namespace std;
int main(int argc, char**argv) {
int i = 1;
int j = 1;
int N = 8;
while (i <= N)
{
i = i++;
while(j <= i)
{
cout<<"*";
j = j++;
}
cout<<endl;
}
}
最佳答案
我会给你一个提示(为了让你自己弄清楚):你忘记设置 j
返回1
在内循环之后。
就像现在一样,当j
变成 <= i
一次,它会保持这种状态,并且再也不会进入内循环。
此外,虽然它与您的问题没有直接关系,但请确保永远做j = j++
或 i = i++
;就做j++
和 i++
(正如 Kshitij Mehta 在评论中所说)。如果您对原因感兴趣,可以read this question and its answers .
关于使用 WHILE 循环的直角三角形 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210075/