我需要能够找到用户输入的所有数字的乘法。当我告诉程序要输入多少个数字时,我知道如何做到这一点,但是在这个程序中,用户告诉程序他们输入了多少个数字。我还需要帮助使平均值成为浮点数。例如,如果用户输入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");
}
答案 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以获取完整代码。