从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。定义一个函数fun的功能:计算数组元素中值为正数的平均值(不包括0)。
时间: 2024-02-28 10:56:08 浏览: 63
好的,我知道你的问题了。下面是实现该功能的代码:
```c
#include <stdio.h>
double fun(int *arr, int len) {
int sum = 0, count = 0;
for (int i = 0; i < len; i++) {
if (arr[i] > 0) {
sum += arr[i];
count++;
}
}
return (double)sum / count;
}
int main() {
int arr[100], len = 0;
while (1) {
int num;
scanf("%d", &num);
if (num == 0) {
arr[len++] = num;
break;
}
arr[len++] = num;
}
printf("%.2f\n", fun(arr, len - 1));
return 0;
}
```
这段代码定义了一个函数 `fun`,它接受一个整型数组和数组长度作为参数,计算数组元素中值为正数的平均值。这个函数遍历整个数组,如果元素值大于 0,就累加到 `sum` 变量中,并增加 `count` 变量的值。最后,函数返回 `sum` 除以 `count` 的值,即正数的平均值。
在 `main` 函数中,我们先定义了一个长度为 100 的整型数组 `arr` 和一个变量 `len`,表示数组中元素的个数。然后,我们通过循环从键盘读取输入的整数,并将其存入数组中,直到读取到 0 为止。最后,我们调用 `fun` 函数计算正数的平均值,并将结果输出到屏幕上。
希望能够帮到你,如果还有什么问题,可以继续问我。
阅读全文