c语言编程 从键盘输入20个整数到一维数组,计算它们的平均值,输出数组中每个数与平均值之差的绝对值

该怎么编写程序,急需答案!!拜托各位了!本人才疏学浅,希望程序不要写的太难

#include <stdio.h>
#include <math.h>
int main(){
int i = 0;
int a[20];
int avi = 0;
int count = 0;
for(i=0;i<20;++i){
printf("please input 20 numbers:");
scanf("%d",&a[i]);
}
for(i=0;i<20;++i){
count += a[i];
}
avi = count/20;
for(i=0;i<20;++i){
printf("%d 和平均值%d的绝对值为:%d\n",a[i],avi,abs(avi - c[i]));
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-01
用for循环输入,每次输入用和变量磊加,输入完成后求平均值,输出时当前数减去平均值(结果判断下负数)

这里用两个for循环
第2个回答  推荐于2017-10-11
#include<stdio.h>
void main()
{
int i,a[20];
double average,sum=0;
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
average=sum/20;
for(i=0;i<20;i++)
{
printf("%lf ",fabs(a[i]-average));
}
}追问

但是这个程序我上机调试了,结果是很长的数字,不是答案,您知道怎么回事吗?还是哪里出错了,我不知打错在哪里?请指教

追答

哦,对了,要加多个头文件#include。你在试试看

追问

这个我加了,可还是不行,您能帮我再检查检查吗?谢谢了

追答

以下程序是修改之后,是正确的。
#include
#include
void main()
{
int i,a[20];
double average,sum=0;
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];}
average=sum/20;
printf("它们的平均数为%.2f\n",average);
printf("每个数与平均数之差的绝对值如下:\n");
for(i=0;i<20;i++)
{
printf("%.2f ",fabs(a[i]-average));
}
}

本回答被提问者和网友采纳
相似回答