c语言实现, 从键盘输入十个整数,将这十个整数显示成一行输出,并在下一行显示其中最接近平均值的数

如题所述

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define SIZE 10

int main()
{
int a[SIZE],index,i;
double avg,mdt;
avg=0;
for (i=0;i<SIZE;++i)
{
scanf("%d",&a[i]);
avg+=a[i];
}
avg/=SIZE;
index=0;
mdt=fabs(a[index]-avg);
printf("%d",a[0]);
for (i=1;i<SIZE;++i)
{
double dt=fabs(a[i]-avg);
if (dt<mdt)
{
index=i;
mdt=dt;
}
printf(" %d",a[i]);
}
printf("\n%d\n",a[index]);
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-16
当有两个数和平均数差的绝对值相同时,输出期中一个
#include<stdio.h>
#include<math.h>
void main()
{
int a[10],i,j,num=0,p=1;
double average,out,b[10];
for(i=0;i<10;i++)//输入十个整数并输出和计算和
{
scanf("%d",&a[i]);
printf("%5d",a[i]);
num+=a[i];
}
printf("\n");
average=num*1.0/10;//求平均数
for(i=0;i<10;i++)
{
b[i]=fabs(a[i]-average);//数组b来记录每个数与平均数差的绝对值
}
for(j=0;j<10;j++)
{
if(b[j]<=b[p])//找出绝对值最小的项
p=j;
}
printf("%d",a[p]);

}
相似回答