产生若干个范围里的随机整数并存入某一维数组中,并按样张格式输出数组元素;求数组元素中奇数元素的个数,奇数元素的平均值、偶数元素的个数、偶数元素的平均值。要求:输出数组元素时,每行输出5个数,数据域宽。平均值保留两位小数
6条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
为了实现这个功能,你需要按照以下步骤编写C++代码:
- 包含必要的头文件。
- 定义一个函数来生成随机整数并存储到数组中。
- 计算数组中的奇数和偶数数量以及它们的平均值。
- 定义一个函数来格式化数组元素的输出。
以下是完整的C++代码示例:
#include <iostream> #include <cstdlib> // 用于rand(), srand() #include <ctime> // 用于time() // 生成随机整数并存储到数组中 void generateRandomNumbers(int arr[], int size, int lowerBound, int upperBound) { std::srand(std::time(0)); // 设置随机种子 for (int i = 0; i < size; ++i) { arr[i] = std::rand() % (upperBound - lowerBound + 1) + lowerBound; } } // 计算奇数和偶数的数量及平均值 void calculateStats(const int arr[], int size, int& oddCount, double& oddSum, int& evenCount, double& evenSum) { oddCount = 0; evenCount = 0; oddSum = 0; evenSum = 0; for (int i = 0; i < size; ++i) { if (arr[i] % 2 == 0) { evenCount++; evenSum += arr[i]; } else { oddCount++; oddSum += arr[i]; } } if (oddCount > 0) { oddSum /= static_cast<double>(oddCount); } if (evenCount > 0) { evenSum /= static_cast<double>(evenCount); } } // 格式化数组元素的输出 void printArrayFormatted(const int arr[], int size) { const int itemsPerLine = 5; for (int i = 0; i < size; ++i) { std::cout << std::setw(6) << arr[i]; if ((i + 1) % itemsPerLine == 0) { std::cout << "\n"; } else if (i < size - 1) { std::cout << " "; } } std::cout << std::endl; } int main() { const int arraySize = 25; const int lowerBound = 1; const int upperBound = 100; int arr[arraySize]; generateRandomNumbers(arr, arraySize, lowerBound, upperBound); int oddCount, evenCount; double oddSum, evenSum; calculateStats(arr, arraySize, oddCount, oddSum, evenCount, evenSum); std::cout << "Array elements:\n"; printArrayFormatted(arr, arraySize); std::cout << "\nNumber of odd numbers: " << oddCount << "\n"; std::cout << "Average of odd numbers: " << std::fixed << std::setprecision(2) << oddSum << "\n"; std::cout << "Number of even numbers: " << evenCount << "\n"; std::cout << "Average of even numbers: " << std::fixed << std::setprecision(2) << evenSum << "\n"; return 0; }这段代码首先定义了几个函数:
generateRandomNumbers用于生成随机整数,calculateStats用于计算奇数和偶数的数量及平均值,printArrayFormatted用于格式化数组元素的输出。在main函数中,我们创建了一个数组,然后调用这些函数来生成随机数、计算统计信息并输出结果。运行此程序,你会看到一个包含25个随机整数的数组,以及其中奇数和偶数的数量及平均值。数组元素会每5个一行进行打印,且数值宽度为6位,便于对齐。平均值会保留两位小数。
解决 无用评论 打赏 举报 编辑记录