从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值。 保留两位小数
时间: 2024-10-14 18:14:13 浏览: 71
为了实现这个功能,你需要首先读取用户输入的20个整数,然后检查每个数是否为负数,最后计算正数的总和并除以正数的数量得到平均值。以下是使用C语言的一个简单实现:
```c
#include <stdio.h>
#include <float.h> // 包含浮点数处理函数
int main() {
int numbers[20];
int count_negative = 0, sum_positive = 0;
printf("请输入20个整数:\n");
for (int i = 0; i < 20; i++) {
scanf("%d", &numbers[i]);
if (numbers[i] < 0) { // 检查是否为负数
count_negative++;
} else if (numbers[i] > 0) { // 只对正数累加
sum_positive += numbers[i];
}
}
if (count_negative == 0) { // 避免除以零的情况
printf("没有正数。\n");
} else {
float average = (float)sum_positive / count_positive;
printf("负数有 %d 个,正数的平均值为 %.2f。\n", count_negative, average);
}
return 0;
}
```
这段代码首先声明了一个数组存储20个整数,接着通过循环读取用户的输入。如果是负数则计数,如果是正数则累加。最后计算平均值并保留两位小数显示结果。
阅读全文