当用户确定他们将输入多少个数字时,需要程序将用户输入的数字相乘

时间:2014-01-25 07:09:08

标签: c++

我需要能够找到用户输入的所有数字的乘法。当我告诉程序要输入多少个数字时,我知道如何做到这一点,但是在这个程序中,用户告诉程序他们输入了多少个数字。我还需要帮助使平均值成为浮点数。例如,如果用户输入1,1,1,1和0的平均值应为0.8而不是0。

#include<iostream>
using namespace std;

int p, N = 0.0, sum =0;
float average = 0.0;

int main(){
    cout<<"Enter the number of integers you want to enter: ";
    cin>>N;
    for (int i=0; i<N; i++) {
        cout<<"enter a number: ";
        cin>>p;
        sum += p;
    }
    cout<<"The sum is "<<sum<<"\nThe average is "<<sum/N<<"\n";
    system("pause");
}

1 个答案:

答案 0 :(得分:0)

要使用户能够输入不同数量的值,您可以让用户输入由空格分隔的一行中的所有数字。使用getline()加载所有数字,然后将其传递到vector<int>

string str;
getline(cin, str);

// read all numbers, stored them in vector<int> numbers
vector<int> numbers;
istringstream ss(str);
int num;
while(ss >> num)
{
    numbers.push_back(num);
}

// now you have all numbers, do whatever you want
cout << numbers.size() << " numbers in total" << endl;  
// ... ...

查看Ideone以获取完整代码。