我的 for 循环有更好更短的方法吗?

ser*_*nix 2 c++ for-loop

我是这里的新手,这是我的第一个问题。我在 Visual Studio 2019 上学习基本的 c++。我学习函数和循环。

我有一个需要打印的作业:

我用我的 30 行代码解决了它。但我只是想知道有没有更短更好的方法?

using namespace std;
int main() 
{   
        for (int j = 0; j < 5; j++)
        {
            if (j == 1)
                break;
            cout << "*";
            cout << endl;
            if (j == 2)
                break;
            cout << "**";
            cout << endl;
            if (j == 3)
                break;
            cout << "***";
            cout << endl;
            if (j == 4)
                break;
            cout << "****";
            cout << endl;
            if (j == 5)
                break;
            cout << "*****";
            cout << endl;
        }
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

IWo*_*oes 6

您在代码中犯了几个错误。

  • break陈述实际上应该是continue陈述。break完全终止整个循环(即,您提供的代码中绝对不会打印任何内容)。
  • i == 5永远不可能true,因为循环在 t 发生之前终止(参见条件i < 5)。

要回答您的问题,您可以使用嵌套循环。

for (int i = 0; i < 5; i++) {
    for (int j = 0; j <= i; j++) {
        std::cout << '*';
    }
    std::cout << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您不需要灵活,请手动进行。

std::cout << "*\n**\n***\n****\n*****" << std::endl;
        
Run Code Online (Sandbox Code Playgroud)