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

时间:2015-11-01 19:26:44

标签: c++ arrays

我有这个程序要写,我有一个从我输入的11个数字的数组。然后我需要找到这些数字的平均值,然后我要求找到这个数组中最接近的数量到平均数,然后再将数组中最远的元素再次计入平均数。到目前为止,我设法编写一个程序来创建这个数组并找到avarage总和。我觉得与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];
}

2 个答案:

答案 0 :(得分:0)

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

在c ++中通常使用&#34; abs&#34;你应该使用来自&#34; math.h&#34;的晶圆厂。库!

答案 1 :(得分:0)

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

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

所以你在以下条件下替换:If |number[i] - average_value| < |tmp_closest_val -average_val| Then tmp_closest_val = number[i] EndIf

我希望你能从粗略的草案中得到这个概念。