输入n个整数,计算它们的平均值,再找出与平均值最接近的那个整数
先求出平均值,然后计算每个值与平均值差的绝对值,记住最小的绝对值对应的数位置
代码如下,如有帮助,请帮忙采纳一下,谢谢。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i,index;
int *p;
float avg = 0,tmp;
scanf("%d",&n);
p = (int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%d",&p[i]);
avg += p[i];
}
avg = avg/n;
tmp = fabs(p[0] - avg);
index = 0;
for(i=1;i<n;i++)
{
if(fabs(p[i]-avg) < tmp)
{
index = i;
tmp = fabs(p[i]-avg);
}
}
printf("平均值=%f,最接近平均值的数是:%d",avg,p[index]);
free(p);p=0;
return 0;
}