C语言一维数组求平均值

调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。
#include “stdio.h”
void main()
{ int i,n,a[10],av;
for(i=0;i<n;i++)
scanf("%d",a[i]);
for(i=0;i<n;i++)
{ printf("%d",a[i]);
if (i%3==0) printf("\n");
}
for(i=0;i!=n;i++)
av+=a[i];
printf("av=%f\n",av);
}
上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意变量的初值问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使用<Ctrl>+<Break>键终止程序的运行,返回到TC环境。
请问要如何改

第1个回答  2011-11-28
#include<stdio.h>
void main()
{
int i,n=10,a[10],av=0;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{ printf("%d ",a[i]);
if (i%3==2) printf("\n");
}
for(i=0;i!=n;i++)
av+=a[i];
printf("\nav=%g\n",1.0*av/n);
}
第2个回答  2015-05-17
#include <stdio.h>
int main()
{
int avarge[4],sum=0,c,i;
printf("input four numbers\n");
for(i=0;i<4;i++)//这里多了分号
{
scanf("%d",&avarge[i]);
sum=sum+avarge[i];
}
c=sum/4; //为什么除以10呢?不是四个数吗?
printf("c is %d\n", c); //少了参数C
return 0;
}

第3个回答  2011-11-28
#include "stdio.h"
main()
{
int i,n=10,a[10],av=0;
for(i=0; i<n; i++)
scanf("%d",&a[i]);
for(i=0; i<n; i++)
{
if (i%3==0) printf("\n");
printf("%d ",a[i]);
}
printf("\n");
for(i=0; i!=n; i++)
av+=a[i];
printf("av=%f\n",1.0*av/n);
}
第4个回答  2015-05-17
1、c=sum/10; 错了。不是4个数求平均值吗?应该c=sum/4;
2、printf("c is%d");里面没有输出表列。应该printf("c is%d",c);

3、如果不能整除,平均值c,和变量sum变量应该是实数型,float c,sum;因为10/4=2,所以sum/4中的sum变量最好也是实数型。
第5个回答  2011-11-28
int i,n,a[10],
float av=0;

scanf("%d",&a[i]);

printf("av=%f\n",av*1.0/10);
相似回答