用C++语言编写程序,对一组(不超过20个)整型数据进行排序,并求最大值、最小值和平均值。
时间: 2024-09-08 16:04:51 浏览: 53
有一个int数组{1,3,5,-2,4,6},要求获取:最大值、最小值、元素和、平均值
5星 · 资源好评率100%
下面是一个简单的C++程序,它实现了对一组整数进行排序(这里是冒泡排序),并计算最大值、最小值和平均值:
```cpp
#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int>& nums) {
int n = nums.size();
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - 1 - i; ++j) {
if (nums[j] > nums[j + 1]) {
// 交换数值
swap(nums[j], nums[j + 1]);
}
}
}
}
int findMax(const vector<int>& nums) {
return *max_element(nums.begin(), nums.end());
}
int findMin(const vector<int>& nums) {
return *min_element(nums.begin(), nums.end());
}
double calculateAverage(const vector<int>& nums) {
double sum = 0;
for (const auto& num : nums) {
sum += num;
}
return sum / nums.size();
}
int main() {
vector<int> numbers;
int num;
cout << "请输入不超过20个整数:" << endl;
while (cin >> num && numbers.size() < 20) {
numbers.push_back(num);
}
bubbleSort(numbers);
cout << "排序后的数组:";
for (const auto& num : numbers) {
cout << num << " ";
}
cout << endl;
int maxNum = findMax(numbers);
int minNum = findMin(numbers);
double average = calculateAverage(numbers);
cout << "最大值: " << maxNum << endl;
cout << "最小值: " << minNum << endl;
cout << "平均值: " << average << endl;
return 0;
}
```
这个程序首先接收用户输入的20个整数,然后使用冒泡排序算法对其进行排序,接着分别找出最大值和最小值,并计算平均值。
阅读全文