2016-03-09 91 views
-1

我知道我错过了一些真正简单的东西,但我似乎无法使用while循环获取打印出的奇数或偶数数字的行数或循环。此外,它不断打印出“偶数是:”/“奇数是:”每个数字。使用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 
} 

回答

0

您可能希望这样:

#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 
} 
+0

谢谢!这是一个任务,我们必须使用一个while循环或循环。 – user2814798

+0

这些'for'循环的初始化部分没有变量声明,所以你可以通过'initialize'替换'for(initialization; condition; proceed){statements;}'来将它们转换为while循环。 while(condition){语句;继续;}' – MikeCAT