我是这里的新手,这是我的第一个问题。我在 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)
您在代码中犯了几个错误。
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)