关于C语言的问题,请高手指教

来源:百度知道 编辑:UC知道 时间:2024/07/01 03:51:06
怎么老是调不出结果来啊,请高手帮忙指正,谢谢!
#include "stdio.h"
float avg(int n,int a[])
{
int avg,i,sum;
for(i=1;i<=n;i++)
{
sum=sum+a[i];
}
avg=(float)sum/n;
return avg;
}
main()
{
int n,a[50],i;
float average;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
average=avg(n,a);
printf("average:%f\n",avg);
}

修改之后:

#include <stdio.h> /* 建议用<>代替"" */
float avg(int n,int a[])
{
int i,sum=0;
float avg=0; /*注意 avg不是int!另外变量一定要记得初始化(当然,不初始化并不错)*/
for(i=0;i<n;i++) /*注意 不是<=n!*/
{
sum = sum + a[i];
}
avg=(float)sum/n;
return avg;
}

void main()
{
int n,a[50],i;
float average;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
average=avg(n,a);
printf("average:%f\n",avgrage); /*注意 不是avg!*/
}

修改如下:

//---------------------------------------------------------------------------

#include "stdio.h"
float avg(int n,int a[])
{
int avg,i,sum=0; /*注意这里*/
for(i=0;i<n;i++) /*注意这里*/
{
sum=sum+a[i];
}
avg=(float)sum/n;
return avg;
}
main()
{
int n,a[50],i;
float average;
scanf("%d",&