函数average的功能是求数组a中n个元素的平均值并返回,请填空完成相应功能。 #include <stdio.h> float average( int a[],int n ) {int j; float aver,sum; sum=0; for(j=0; j<n ;j++) sum=sum+a[j]; aver= sum/n; return aver ; //返回结果 } #define N 10 int main(void) {float x[N],pj; //变量pj储存N个数的平均值 int i; for(i=0;i<N;i++) //输入N个数 scanf("%f",&x[i]); pj=fun(x[],N) ; //调用函数计算平均值 printf("%.3f\n",pj); }检验错误并指正
时间: 2024-01-13 08:05:22 浏览: 109
以下是存在错误并已修改的代码:
```c
#include <stdio.h>
float average(int a[], int n);
#define N 10
int main(void) {
float x[N], pj; //变量pj储存N个数的平均值
int i;
for (i = 0; i < N; i++) //输入N个数
scanf("%f", &x[i]);
pj = average(x, N); //调用函数计算平均值
printf("%.3f\n", pj);
return 0;
}
float average(int a[], int n) {
int j;
float aver, sum;
sum = 0;
for (j = 0; j < n; j++)
sum = sum + a[j];
aver = sum / n;
return aver; //返回结果
}
```
代码中存在以下错误:
1. `pj=fun(x[],N);` 应该改为 `pj=average(x, N);`,调用函数时不需要在函数名后面加括号,需要传入的参数应该是数组名x和数组元素个数N。
2. 函数average的定义应该放在main函数前面,或者在main函数前面加上函数原型声明。
3. `return 0;`应该加上,表示程序正常结束。
4. 在函数average中,变量aver没有被使用,可以去掉。
修改后的代码如下:
阅读全文
相关推荐












