我是这里的新手,这是我的第一个问题。我在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;
}
您在代码中犯了几个错误。
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;
}
或者,如果您不需要灵活性,请手动进行。
std::cout << "*\n**\n***\n****\n*****" << std::endl;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句