数组和指针的使用 0 任务8、编程从键盘输入10 个不为0的整型数,统计其中负数的个数并求出所有正数的平均值。
时间: 2024-02-21 09:57:55 浏览: 106
从键盘输入10个整数,编程统计每个整数和非法数字的个数
5星 · 资源好评率100%
好的,这是一个比较基础的 C 语言编程问题。以下是代码实现:
```c
#include <stdio.h>
int main() {
int arr[10];
int count_neg = 0, count_pos = 0;
double sum_pos = 0.0, avg_pos = 0.0;
printf("请输入10个整数,不为0的数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
if (arr[i] < 0) {
count_neg++;
} else if (arr[i] > 0) {
count_pos++;
sum_pos += arr[i];
}
}
if (count_pos > 0) {
avg_pos = sum_pos / count_pos;
}
printf("负数个数:%d\n", count_neg);
printf("正数平均值:%lf\n", avg_pos);
return 0;
}
```
首先定义了一个长度为10的整型数组 `arr`,以及统计负数个数的变量 `count_neg`、统计正数个数的变量 `count_pos`、所有正数之和的变量 `sum_pos` 和正数平均值的变量 `avg_pos`。
然后通过 `for` 循环输入 10 个整数,并在输入时进行负数和正数的统计。其中,如果为负数,则负数个数加1;如果为正数,则正数个数加1,并将其加入到 `sum_pos` 中。
最后,如果正数个数大于0,则计算出正数的平均值,并输出负数个数和正数平均值。
需要注意的地方是,题目中要求输入的数不为0,因此在输入时需要进行判断,如果输入为0,则该次输入不计入统计。
阅读全文