使用While循环的整数序列

时间:2016-09-01 15:18:04

标签: c++ loops while-loop

我接受了锻炼:

  

编写并运行一个读取整数序列的程序,直到输入一个负整数,然后打印正偶数和正奇数的总和。使用While循环。

基本上用户有无限的数量输入整数,只有当他输入负整数时它才会停止,它会显示所有偶数和奇数的数量。

我尽我所能在没有寻求帮助的情况下独自完成,但现在我被困住了。这就是我到目前为止所拥有的:

#include <iostream>
using namespace std;

int main()
{
    int n;
    int odds =0;
    int evens =0;
    cout<<"Enter Positive integers.  \n\t:";
    cin>>n;
    while (n>0) {
        switch (n%2) {
        case 0:
            evens++;
            break;
        case 1:
            odds++;
        }

    }
    cout<<endl;

    cout<<"the number of odds: "<<odds<<endl;
    cout<<"the number of evens: "<<evens<<endl;

}

1 个答案:

答案 0 :(得分:0)

这就是你需要的:

func grabRandomPoint(from vc: ViewController) -> CGPoint {
    // x coordinate between MinX (left) and MaxX (right):
    let randomX = randomInRange(Int(CGRectGetMinX(vc.view.frame)), hi: Int(CGRectGetMaxX(vc.view.frame)))
    // y coordinate between MinY (top) and MaxY (bottom):
    let randomY = randomInRange(Int(CGRectGetMinY(vc.view.frame)), hi: Int(CGRectGetMaxY(vc.view.frame)))
    let randomPoint = CGPoint(x: randomX, y: randomY)

    return randomPoint
}

我尽可能简单地编写了这段代码,以便您了解正在发生的事情。 int main() { int n; int odds = 0; int evens = 0; while(cin >> n) { if(n < 0) { break; } else { if((n % 2) == 0) { ++odds; } else { ++evens; } } } cout << "the number of odds: "<< odds << endl; cout << "the number of evens: "<< evens << endl; } 保持读取值(如果设置了while(cin >> n)标志,它将终止)。然后程序检查数字是否为负并退出for循环,否则计算该数字是EOF还是odd。您可以通过添加switch语句而不是ifs来试验此代码。