C语言数组求平均值怎么写程序?

2025-03-18 00:10:33
推荐回答(3个)
回答1:

因为你在main()中的数组a 和你在函数ave(int x)中的数组a并不是同一个,这个是变量的作用域导致的
计算均值的时候,实际上用的是在ave(int x) 中新定义没有初始化的数组a
所以返回的均值就是随机数

改正:
#include
float a[2][3], ave(int x);
void main()
{
int i, j;
for (i = 0; i < 2;i++)
for (j = 0; j < 2; j++)
scanf("%f", &a[i][j]);

for (i = 0; i < 2; i++)
a[i][2] = ave(i);
for (i = 0; i < 2;i++)
for (j = 0; j < 3; j++)
{
printf("%.1f ", a[i][j]);
if (j == 2) printf("\n");
}
}
float ave(int x)
{
float m = 0, z;
int n;
for (n = 0; n < 2; n++)
m = m + a[x][n];
z = m / 2;
return z;
}
希望对你有帮助

回答2:

循环输入数,平均值用浮点数

# include 
main()
{
    int i,j,sum=0;
    double av;
    int a[3];
    printf("input 3 nembers:\n");
    for (i=0;i<3;i++)
    scanf ("%d",&a[i]);

    for (i=0;i<3;i++)
    sum=sum+a[i];
    av=sum/3.0;
    printf ("%f",av);
}

回答3:

把a申明成全局变量,或者在ave()传递参数a