使用 WHILE 循环的直角三角形 C++ 代码

标签 c++ while-loop

我需要打印这个三角形:

*
**
***
****
*****
******
*******
********

使用 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/

相关文章:

python - 为什么 else 条件在 Python If-else 语句上不起作用?

Java 为什么我输入的每个输入都会忽略我的 While 循环?

c++ - "variable tracking"占用了我的编译时间!

c++ - 使用 emscripten 将位图缓冲区渲染到 HTML5 Canvas 中

c++ - 使用指针在长无符号变量中选择数字

java - 使用特定字符串退出方法

c++ - Visual Studios 忽略文件

c++ - 从 char* 创建 std::string 时在末尾获取额外字符

while-loop - 过程的管道输出到 sh while 循环?

java - 在我的 while 循环中加入最小值和最大值检查器?