#include<stdio.h> float aver(float a[]) //被调用函数 地址传递 { int i; float sum=0; for(i=0;i<10;i++) sum=sum+a[i]; //把数组里的数加起来 return sum/10.0; } int main() { float b[10]; int j; for(j=0;j<10;j++) scanf("%f",&b[j]); //赋值 printf("%.2f",aver(b)); //调用 return 0; }
时间: 2024-04-28 11:26:40 浏览: 90
这是一个求给定float类型数组的平均值的C语言程序。程序中的函数aver接受一个float类型的数组a[]作为参数,通过地址传递的方式来获取该数组,然后通过for循环遍历数组并将所有元素相加,最后返回平均值(即所有元素之和除以数组长度)。在主函数中,我们首先声明了一个包含10个元素的float类型数组b[],然后通过for循环将其赋值,并最终通过printf函数调用aver函数,输出该数组的平均值。
相关问题
#include <stdio.h> float aver(float a[ ]); int main() { float sco[5],av; int i; for(i=0;i<5;i++) scanf("%f",&sco[i]); av=aver(sco); printf("average score is %5.2f\n",av); return 0; } /* 请在这里填写答案 */
这段代码缺少函数`aver`的实现部分,需要补充如下代码:
```c
float aver(float a[]) {
float sum = 0;
for (int i = 0; i < 5; i++) {
sum += a[i];
}
return sum / 5;
}
```
该函数的作用是计算给定数组`a`的平均值,并将其返回。在`main`函数中,先读入5个浮点数存储在`sco`数组中,然后调用`aver`函数计算平均值并输出。
函数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); }检验错误并指正
以下是存在错误并已修改的代码:
```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没有被使用,可以去掉。
修改后的代码如下:
阅读全文