gpt4 book ai didi

c++ - 我需要在给定数字中找到最接近(和次要)平均值的数字。

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:54 27 4
gpt4 key购买 nike

我需要在给定数字中找到最接近(和次要)平均值的数字。例如:

如果给定的数字是 1、2、3、4、5,则平均值将为 3,最接近的数字为 2 和 4,但次要数字为 2,因此结果应为 2。

或者,如果给定的数字是 1、325、350、299,则平均值为 243.75,因此最接近的数字是 299。

我只找到了平均值。

#include <iostream>
using namespace std;
int main() {
int n, i;
float num[100], sum=0.0, average;
n = 10;
while (n > 100 || n <= 0) {
cin >> n;}
for(i = 0; i < n; ++i) {
cin >> num[i];
sum += num[i];
} average = sum / n;
cout << average;
return 0;
}

最佳答案

找到平均值后,您可以再次遍历数组并找到最接近的数字:

float closest = num[0];
float diff = abs(average - closest);
for(i = 1; i < n; ++i) {
float curr_diff = abs(average - num[i]);
if (curr_diff < diff || (curr_diff == diff && num[i] < closest) {
closest = num[i];
diff = curr_diff;
}
}

关于c++ - 我需要在给定数字中找到最接近(和次要)平均值的数字。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47612796/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com