C++输入只有一组数据,包括两行,第一行为正整数的个数n,第二行为n个整数,中间以空格区分。 输出 针对输入数据,从小到大分2行输出,其中第一行所有的数均小于平均值(该值为浮点数,double型)。每个数据后面都有一个空格。
时间: 2023-06-18 14:02:10 浏览: 90
以下是基于你的要求编写的 C++ 程序:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
double sum = 0;
vector<int> nums;
// 输入数据
cin >> n;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
nums.push_back(num);
sum += num;
}
// 计算平均值
double avg = sum / n;
// 找出小于平均值的数并排序
vector<int> lessThanAvg;
for (int num : nums) {
if (num < avg) {
lessThanAvg.push_back(num);
}
}
sort(lessThanAvg.begin(), lessThanAvg.end());
// 输出结果
for (int num : lessThanAvg) {
cout << num << " ";
}
cout << endl;
for (int num : nums) {
if (num >= avg) {
cout << num << " ";
}
}
cout << endl;
return 0;
}
```
注意,这里使用了 `vector` 来动态存储输入的整数,以及存储小于平均值的整数。另外,为了方便起见,我们在第二行输出时直接忽略了小于平均值的整数,只输出大于等于平均值的整数。