c ++,要求用户输入一组数字加总(未知输入数),但数字不会加起来

时间:2015-12-22 14:05:51

标签: c++

我想写一个简单的程序,我要求用户输入一组数字来求和。用户可以输入未知数量的数字。

这是我的代码:

#include <iostream>
using namespace std;

//ask the user to input a set of numbers to sum (unknown number of input)
int main (){
    int sum = 0, value = 0;
    while (cin >> value){
        sum += value;
        cout << "sum is " << sum << endl;
        return 0;
    }
}

但是,当我输入多个数字时,结果总是等于第一个数字,而不是输入的所有数字的总和。如:

  

5 6 7 8

     

总和是5

我做错了什么?

2 个答案:

答案 0 :(得分:3)

问题是return 0。把它放在while块之外。

答案 1 :(得分:1)

你做错了。您必须将print方法放在循环之外并返回。如果您希望用户在他想要的任何时间终止,那么您需要输入特定关键字或除数据类型之外的任何其他关键字(如char在整数的位置),以便它将终止循环。

#include <iostream>
using namespace std;
int main (){
    int sum = 0, value = 0;
    /*press any key other than number to terminnate*/
    while (cin >> value){
        sum += value;
    }
    cout << "sum is " << sum << endl;
    return 0;
}