读一组实数,遇零终止,打印其中正、负数的个数及各自的总和。用c语言编程
时间: 2024-02-13 11:02:26 浏览: 82
可以使用一个循环来读取实数,当读取到0时跳出循环,同时统计正数和负数的个数以及它们的总和。
下面是一个可能的代码实现:
```c
#include <stdio.h>
int main() {
double num;
int pos_count = 0, neg_count = 0;
double pos_sum = 0, neg_sum = 0;
while (1) {
printf("请输入一个实数:");
scanf("%lf", &num);
if (num == 0) {
break;
}
if (num > 0) {
pos_count++;
pos_sum += num;
} else {
neg_count++;
neg_sum += num;
}
}
printf("正数个数:%d,总和:%g\n", pos_count, pos_sum);
printf("负数个数:%d,总和:%g\n", neg_count, neg_sum);
return 0;
}
```
在上面的代码中,我们使用了一个 `while` 循环来读取实数,当读取到0时跳出循环。在每次读取实数时,我们判断它是正数还是负数,并分别统计它们的个数和总和。最后输出正数和负数的个数以及它们的总和。注意,在输出总和时,我们使用了 `%g` 格式化符号,它可以根据数值的大小决定输出的格式,这样可以避免在输出较大的数时出现科学计数法的问题。
阅读全文