以下是代码:

#include <iostream>
#include <cmath>
#include <vector>

using namespace std;

int main() {
    vector<int> nums(5);
    int sum = 0;
    for (int i = 0; i < 5; i++) {
        cin >> nums[i];
        sum += nums[i];
    }
    double avg = sum / 5.0;
    int closest = -1;
    for (int i = 0; i < 5; i++) {
        if (nums[i] <= avg) {
            if (closest == -1 || abs(nums[i] - avg) < abs(closest - avg)) {
                closest = nums[i];
            }
        }
    }
    if (closest != -1) {
        cout << closest << endl;
    } else {
        cout << "No number is less than or equal to the average." << endl;
    }
    return 0;
}

代码解释:

首先,我们使用 vector 存储输入的五个数,并计算它们的和。然后,我们计算平均数,并初始化一个变量 closest 为 -1,表示暂时没有找到符合条件的数。

接下来,我们遍历 nums 数组中的每个数,如果该数小于等于平均数,那么就判断它是否比当前找到的最接近平均数的数更接近平均数。如果是,就更新 closest。

最后,我们检查是否找到了符合条件的数。如果找到了,就输出 closest。否则,输出一条消息表示没有找到符合条件的数

编译一个c++输入五个数以空格分隔找出最接近且不大于平均数的数

原文地址: https://www.cveoy.top/t/topic/eoot 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录