随机产生20 个1000以内的整数并显示,找出与该二十个整数的均值最接近的数(),显示结果
有没有大神帮忙的 刚开始学习c语言 不怎么会
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int arr[20],i;
double c;
int cur;
int sum=0;
double avg;
srand((unsigned int)time(NULL)); //设置种子,不然每次运行结果一样
for(i=0;i<20;i++){
arr[i] = rand()%1000; //生成0-999的整数
printf("%d\n",arr[i]);
sum+=arr[i];
}
avg = 1.0*sum/20;
c = abs(arr[0] - avg); //与均值的差值
cur = arr[0];
for(i=1;i<20;i++){
if(abs(arr[i] - avg)<c){ //遍历数组一遍找最接近的
c = abs(arr[i] - avg);
cur = arr[i];
}
}
printf("\n\navg=%lf , data=%d\n",avg,cur);
return 0;
}