繁体   English   中英

查找与另一个给定数字最接近的数组数

[英]Finding the closest number of array to another given number

我有这个程序要写,我有一个由我输入的 11 个数字的数组。 然后我需要找到这些数字的平均和,然后我要求找到这个数组中最接近平均和的数字,然后再次找到数组中最远的元素到平均和。 到目前为止,我设法编写了一个程序来创建这个数组并找到平均总和。 我认为这与 cmath libary 的 abs 函数有关,但到目前为止我只是没能做到。

#include <iostream>


using namespace std;

int main() {


unsigned const int size = 11;
float number[size];

for (unsigned i = 0; i<size; i++) {
    cout << "Please enter value for number  "
        << i + 1 << ":";
    cin >> number[i];
}
for (unsigned i = 0; i<size; i++) {
    cout << "Number " << i + 1 << " is : "
        << number[i] << endl;
}
unsigned int sum = 0;
for (unsigned i = 0; i<size; i++) {
    sum += number[i];
}

问题是什么? 你不是在问问题,只是在发表声明......看来你没有发布整个代码......

在 C++ 中,通常要使用“abs”,您应该使用“math.h”库中的 fabs!

您可以使用比较运算符。 只需在循环中遍历数组并计算比较值与数组上的当前值之间的差异。 启动一个临时变量,保留创建最小差异的数组条目。

每次出现小于当前差异的差异时,请替换临时变量中的值。

因此,您在以下条件下进行替换: If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf

我希望你从那个草稿中得到这个概念。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM