我有这个程序要写,我有一个从我输入的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];
}
答案 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
。
我希望你能从粗略的草案中得到这个概念。