我正在尝试打印以下图案:
*
**
***
****
*****
****
***
**
*
现在,我知道如何使用 4 个 for 循环来做到这一点:
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
cout<<"*";
}
cout<<"\n";
}
打印前半部分和后半部分:
for(i=1;i<=n;i++)
{
for(j=n;j>i;j--)
{
cout<<"*";
}
cout<<"\n";
}
仔细观察,两个外部 for 循环是相同的。 IE。, 对于(i=1;i<=n;i++)。 有没有办法在 i-for 循环中同时嵌套“j”for 循环?
最佳答案
只使用一个循环:
#include <iostream>
#include <string>
int main() {
for (unsigned i = 0; i < 10; ++i)
std::cout << std::string( i < 5 ? (i+1) : 10 - (i+1), '*') << std::endl;
return 0;
}
关于c++ - 如何使用 3 个 for 循环而不是 4 个来打印以下模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943243/