c++编程实现:产生若干个[1,100]范围内的随机整数并存入某一维数组中,并按样张格式输出数组元素;求数组元素中奇数元素的个数、奇数元素的平均值、偶数元素的个数、偶数元素的平均值。要求:输出数组元素时,每行输出5个数,数据域宽为5。平均值保留两位小数。
时间: 2024-05-13 13:16:10 浏览: 110
以下是实现代码:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int N = 20;
int main()
{
int nums[N]; // 声明一个大小为 N 的数组
srand(time(NULL)); // 设置随机数种子
// 产生随机整数并存入数组中
for (int i = 0; i < N; i++) {
nums[i] = rand() % 100 + 1;
}
// 输出数组元素
for (int i = 0; i < N; i++) {
cout << setw(5) << nums[i];
if ((i+1) % 5 == 0) {
cout << endl;
}
}
if (N % 5 != 0) {
cout << endl;
}
// 统计奇偶数个数和平均值
int oddCount = 0, evenCount = 0;
int oddSum = 0, evenSum = 0;
for (int i = 0; i < N; i++) {
if (nums[i] % 2 == 0) {
evenCount++;
evenSum += nums[i];
} else {
oddCount++;
oddSum += nums[i];
}
}
// 输出统计结果
cout << "奇数个数:" << oddCount << endl;
if (oddCount != 0) {
cout << "奇数平均值:" << fixed << setprecision(2) << static_cast<double>(oddSum) / oddCount << endl;
}
cout << "偶数个数:" << evenCount << endl;
if (evenCount != 0) {
cout << "偶数平均值:" << fixed << setprecision(2) << static_cast<double>(evenSum) / evenCount << endl;
}
return 0;
}
```
其中,`rand()` 函数用于产生随机数,`srand()` 函数用于设置随机数种子。`setw()` 函数用于控制输出宽度,`setprecision()` 函数用于控制输出小数点后的位数。最后,`static_cast<double>` 可以将整数类型转换为浮点数类型。
阅读全文