C++ 简单嵌套循环问题。*形状*

C++ 简单嵌套循环问题。*形状*,c++,nested-loops,shapes,C++,Nested Loops,Shapes,我现在脑震荡,所以我想问一个非常简单的问题 目前,我正试图打印出这样的开头 当输入为7时,输出为 * ** * ** * ** * 这里我的代码是,它打印14次,而不是7次,或者当我放入N/2时,它不会打印奇数 #include <iostream> using namespace std; int main () { int N; cout << " Please enter N " ; cin >> N;

我现在脑震荡,所以我想问一个非常简单的问题

目前,我正试图打印出这样的开头

当输入为7时,输出为

* 
** 
* 
** 
* 
** 
*
这里我的代码是,它打印14次,而不是7次,或者当我放入
N/2
时,它不会打印奇数

#include <iostream>
using namespace std;

int main () {


    int N;
    cout << " Please enter N " ;
    cin >> N;


    for (int i = 0; i < N ; i++) {

        cout << "*" << endl;

        for (int j = 0; j < 2; j++) {

            cout << "*" ;
        }
        cout << endl;
    }
}
#包括
使用名称空间std;
int main(){
int N;
cout>N;
对于(int i=0;icout对于每个
N
打印两行,其中一行为单行
*
,另一行为两行
*
。只需根据行的奇数或偶数打印一行或两行星号即可

#include <iostream>

int main ()
{
  unsigned int N;
  cout << " Please enter N " ;
  cin >> N;

  for(unsigned int i = 0; i < N; ++i)
  {
    if(i%2 == 0)
    {
      std::cout << "*" << std::endl;
    }
    else
    {
      std::cout << "**" << std::endl;
    }
  }
}
#包括
int main()
{
无符号整数N;
cout>N;
for(无符号整数i=0;istd::cout这是因为每次第一个
for
循环运行时,第二个循环也会运行。您不能同时打印
*
**
,并期望它打印
N
次(它将始终打印
2*N
次)。您需要打印
*
***
,但不能同时打印两者。简单示例:

bool alternate = false;
for (int i = 0; i < N ; i++) {

    if (alternate) {
        cout << "*" << endl;
    } else {
        cout << "**" << endl;
    }

    alternate = !alternate;
}
bool alternate=false;
对于(int i=0;icout对于外部循环的每个完整迭代,将打印以下内容:

*
**
如果运行该循环7次,将得到14行。请尝试此操作,无需使用内部循环:

for (int i = 0; i < N ; i++) {          
    cout << "*" << endl;          
    cout << "**" << endl;     
}
for(inti=0;i难道你就不能这样走吗

for (int i = 0; i < N ; i++) {

    if (i%2 == 0)
    {
        cout << "**" << endl;
    }
    else
    {
        cout << "*" << endl;
    }
}
for(int i=0;i不能为偶数打印什么?但是当N为1时,它会打印2行,并且像我的代码一样打印14次。很好,我没有想到这一点。例如,当我的N为奇数时,我会检查(如果N%2!=0),然后在我的最后一个循环中返回false,对吗?我不完全确定“返回false”是什么意思,但如果你的意思是提前返回/提前跳出循环,那么不,不要返回false。只需循环完整的
N
N%2!=0
可以告诉你是否需要打印
*
***
。它不是用来提前跳出循环的。是的,就是这个。我怎么能忘记呢,谢谢!@Yeliz不客气。如果你对任何答案感到满意,别忘了接受。是的,我知道了要点。我应该检查一下我的循环中是偶数还是奇数。非常感谢