C++ 使用 while 循环打印偶数和奇数系列

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35880840/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-28 14:33:56  来源:igfitidea点击:

Use while loop to print series of even and odd numbers

c++

提问by user2814798

I know I'm missing something real simple but I can't seem to get the numbers to print out in rows of just odd or just even numbers using a while loop or loops. Also It keeps printing out "the even numbers are:"/ "the odd numbers are:" for every number.

我知道我错过了一些真正简单的东西,但我似乎无法使用 while 循环或循环将数字打印成奇数或偶数行。此外,它不断为每个数字打印出“偶数是:”/“奇数是:”。

#include<stdio.h>
#include <iostream>

using namespace std;


int main()
{
    //declare variables
    int number;
    int n;

    cout << "Enter value less than 100: ";
    cin >> n; //take user input


    while (n <= 100) //loop only if n equals 100 or less
    {
        for(number = n; number <= n; number++) //for loop to increment int value
        {
            if(number % 2 !=0) //determines if odd
            {
                cout << "The odd numbers are:" <<number << endl; //prints odd values
            }
        }

        for(number = n;number <= n; number++) // for loop to increment int value
        {
            if(number % 2 ==0) //determines if even 
            {
                cout <<"The even numbers are:" <<number <<endl; //prints even values
            }
        }

        n++;
    }

    return 0; //end of program
}

回答by MikeCAT

You may want this:

你可能想要这个:

#include <iostream>

using namespace std;

int main()
{
    //declare variables
    int number;
    int n;

    cout << "Enter value less than 100: ";
    cin >> n; //take user input

    // print odd values
    cout << "The odd numbers are:";
    for (number = n + 1 - (n % 2); number <= 100; number += 2)
    {
        cout << " " << number;
    }
    cout << endl;

    // print even values
    cout << "The even numbers are:";
    for (number = n + (n % 2); number <= 100; number += 2)
    {
        cout << " " << number;
    }
    cout << endl;

    return 0; //end of program
}