【发布时间】:2020-04-15 17:46:36
【问题描述】:
我想使用函数打印数组中元素的平均数量
这是我的尝试:
#include<stdio.h>
#include<stdlib.h>
#define MAX_SIZE 100
void avgee();
int main()
{
int a[MAX_SIZE],n,i;
double avg=0,sum=0;
printf("Enter the numbers of average:");
scanf("%d", &n);
printf("Enter the numbers: \n");
for(i=1;i<=n;i++)
scanf("%d", &a[i]);
avgee(a,n);
return 0;
}
void avgee(int a[MAX_SIZE],int n)
{
int i,sum,avg;
printf("Average number is:");
for (i=1;i<=n;i++)
{
sum=sum+a[i];
avg=sum/n;
}
printf("%f",avg)
}
由于某种原因它不起作用,有人可以帮忙吗?
【问题讨论】:
-
有几处错误。你没有初始化
sum。您会在循环内部而不是外部找到平均值(实际上并不是故障),并且您将数组从1索引到<= n,而它们应该从0到< n;。您将avg定义为int,而它应该是double。您需要在划分之前转换sum。 -
请注意编译器警告,由于最后一行缺少
;导致错误。 -
非常感谢
标签: c arrays average function-definition