输入数字,遇到非数字输入时停止,输出平均值和大于平均值数字的个数
#include <iostream>
#include <vector>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false);
int sum = 0;
int count = 0;
int dcount = 0;
vector<double> donation;
double input;
while (cin >> input)
{
if (!cin) // 判断输入是否为数字,如果不是则结束输入
{
cin.clear(); // 清除错误状态
cin.ignore(); // 清除缓冲区内容
break;
}
donation.push_back(input);
sum += input;
count++;
}
if (count == 0)
{
cout << "没有输入数据" << endl;
return 0;
}
double avg = static_cast<double>(sum) / count;
for (int j = 0; j < count; j++)
{
if (donation[j] > avg)
{
dcount++;
}
}
cout << "平均值:" << avg << endl;
cout << "大于平均值数个数:" << dcount << endl;
return 0;
}
运行结果: