2401_83930255 2024-04-24 14:53 采纳率: 0%
浏览 4

编程实现,用C加加语言实现下面的内容

产生若干个范围里的随机整数并存入某一维数组中,并按样张格式输出数组元素;求数组元素中奇数元素的个数,奇数元素的平均值、偶数元素的个数、偶数元素的平均值。要求:输出数组元素时,每行输出5个数,数据域宽。平均值保留两位小数

  • 写回答

6条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-24 14:53
    关注

    引自免费微信小程序:皆我百晓生

    为了实现这个功能,你需要按照以下步骤编写C++代码:

    1. 包含必要的头文件。
    2. 定义一个函数来生成随机整数并存储到数组中。
    3. 计算数组中的奇数和偶数数量以及它们的平均值。
    4. 定义一个函数来格式化数组元素的输出。

    以下是完整的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位,便于对齐。平均值会保留两位小数。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月24日