用C语言编写函数,从键盘输入若干个整数放入数组中,输入0结束输入并放在最后一个元素中,试计算数组元素中值为正数的平均值
时间: 2024-05-05 11:20:02 浏览: 95
C语言 从键盘上输入的一组正整数(以输入0为结束),统计并计算出最小值数字的数 量在这组数字中的占比,显示最终结果
好的,下面是用C语言编写的实现代码:
```c
#include <stdio.h>
double positive_average(int arr[], int size)
{
int sum = 0;
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > 0) {
sum += arr[i];
count++;
} else if (arr[i] == 0) {
break;
}
}
return (double)sum / count;
}
int main()
{
int arr[100];
int num;
int i = 0;
printf("请依次输入若干个整数,以0结束:\n");
while (1) {
scanf("%d", &num);
arr[i++] = num;
if (num == 0) {
break;
}
}
double avg = positive_average(arr, i);
printf("数组元素中值为正数的平均值为:%lf\n", avg);
return 0;
}
```
代码思路:
1. 定义一个 `positive_average` 函数,该函数的输入参数为数组和数组大小,输出为平均值。
2. 在主函数中创建一个大小为100的数组 `arr` 和一个变量 `num` 用于接收用户输入的整数。
3. 通过一个 while 循环,不断读取用户输入的整数,将其存储在数组中,直到输入0为止。
4. 调用 `positive_average` 函数计算数组元素中值为正数的平均值,并输出结果。
注意事项:
1. 由于我们不知道用户会输入多少个整数,所以需要定义一个足够大的数组,这里我们定义了一个大小为100的数组。
2. 在读取用户输入的整数时,需要保证数组不越界,这里我们使用了一个变量 `i` 来记录已经输入了多少个整数,同时在每次读取用户输入的整数后,将其存储在数组 `arr` 的第 `i` 个位置,并将 `i` 自增1。
3. 在 `positive_average` 函数中,我们使用一个循环遍历整个数组,如果数组元素的值大于0,则累加到 `sum` 中,并将计数器 `count` 自增1。如果遇到值为0的数组元素,则跳出循环。
4. 最后计算平均值并返回即可。
阅读全文