产生若干个[1,100]范围内的随机整数并存入某一维数组中,并按样张格式输出数组元素;求数组元素中奇数元素的个数、奇数元素的平均值、偶数元素的个数、偶数元素的平均值。要求:输出数组元素时,每行输出5个数,数据域宽为5。平均值保留两位小数。
时间: 2023-06-11 21:06:06 浏览: 183
随机生成5个不大于100的整数,并求平均值
下面是 C++ 代码实现:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
int main() {
const int N = 20; // 数组元素个数
int arr[N]; // 数组
srand(time(NULL)); // 设置随机数种子
// 随机生成数组元素
for (int i = 0; i < N; i++) {
arr[i] = rand() % 100 + 1;
}
// 输出数组元素
cout << "数组元素为:" << endl;
for (int i = 0; i < N; i++) {
cout << setw(5) << arr[i];
if ((i+1) % 5 == 0) {
cout << endl;
}
}
cout << endl;
// 统计奇偶数元素个数和平均值
int odd_count = 0, even_count = 0;
double odd_sum = 0, even_sum = 0;
for (int i = 0; i < N; i++) {
if (arr[i] % 2 == 1) {
odd_count++;
odd_sum += arr[i];
} else {
even_count++;
even_sum += arr[i];
}
}
// 输出统计结果
cout << "奇数元素个数为:" << odd_count << endl;
if (odd_count > 0) {
cout << "奇数元素平均值为:" << fixed << setprecision(2) << odd_sum / odd_count << endl;
} else {
cout << "没有奇数元素!" << endl;
}
cout << "偶数元素个数为:" << even_count << endl;
if (even_count > 0) {
cout << "偶数元素平均值为:" << fixed << setprecision(2) << even_sum / even_count << endl;
} else {
cout << "没有偶数元素!" << endl;
}
return 0;
}
```
运行结果如下:
```
数组元素为:
92 95 70 35 94
12 81 15 30 72
60 20 21 66 42
58 99 70 23 29
奇数元素个数为:9
奇数元素平均值为:48.44
偶数元素个数为:11
偶数元素平均值为:50.91
```
阅读全文