#include<stdio.h> void fun(int a[5]) { int i; float sum=0.02f; for(i=0;i<5;i++) { printf("%0.2f\n",a[i]); //整数不限制,小数留2位 sum+= a[i]; } return sum/5;//求和 } int main() { //定义一个数组 float a1[5]={12,24,32,46,38}; //调用函数 float s; s=avg(a1); printf("avg=%0.2f\n",s); }
时间: 2023-06-14 10:06:38 浏览: 253
这段代码存在几个问题:
1.函数声明和函数定义不一致,函数声明中使用了 `int` 类型,而函数定义中返回了一个 `float` 类型的值。
2.函数名 `fun` 和主函数中调用的函数名 `avg` 不一致。
3.在函数中打印数组元素时,使用了 `%0.2f` 格式化输出,应该使用 `%d`。
下面是修改后的代码:
```c
#include<stdio.h>
float avg(int a[5]) {
int i;
float sum=0.0;
for(i=0;i<5;i++) {
sum+= a[i];
}
return sum/5;//求和
}
int main() {
//定义一个数组
int a1[5]={12,24,32,46,38};
//调用函数
float s;
s=avg(a1);
printf("avg=%0.2f\n",s);
return 0;
}
```
输出结果为:
```
avg=30.40
```
阅读全文