gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 08:19:49 25 4
gpt4 key购买 nike

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

I have a homework that wants print:

我用我的 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;
}

最佳答案

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

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

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

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

或者,如果您不需要灵 active ,请手动执行。

std::cout << "*\n**\n***\n****\n*****" << std::endl;

关于c++ - 我的 for 循环有更好更短的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66420370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com