C语言输入一组数并统计正负
时间: 2023-05-26 13:05:15 浏览: 139
以下是一个示例程序,可以输入一组数,并统计其中正数和负数的个数:
```
#include <stdio.h>
int main()
{
int num, positive_count = 0, negative_count = 0;
printf("请输入一组整数,以0结束:\n");
do {
scanf("%d", &num);
if (num > 0) {
positive_count++;
} else if (num < 0) {
negative_count++;
}
} while (num != 0);
printf("正数的个数:%d\n", positive_count);
printf("负数的个数:%d\n", negative_count);
return 0;
}
```
上述程序使用了 `do-while` 循环来输入一组整数,直到输入的数为0为止。在循环的过程中,使用 `if-else if` 语句来判断输入的数是正数还是负数,并分别统计其个数。最后输出正负数的个数。
需要注意的是,上述程序假设输入的数不会超出 `int` 类型的范围。如果需要更加健壮的程序,可以考虑使用 `long long int` 或 `double` 类型来存储输入的数。
相关问题
用C语言读一组实数,遇零终止打印其中正负的个数及其总和
可以使用循环语句和scanf函数来读取一组实数,并在遇到0时停止循环统计结果。
以下是示例代码:
```c
#include <stdio.h>
int main() {
float num;
int positive_count = 0;
int negative_count = 0;
float positive_sum = 0;
float negative_sum = 0;
printf("请输入一组实数,以0结束:\n");
scanf("%f", &num);
while (num != 0) {
if (num > 0) {
positive_count++;
positive_sum += num;
} else {
negative_count++;
negative_sum += num;
}
scanf("%f", &num);
}
printf("正数个数:%d,总和:%f\n", positive_count, positive_sum);
printf("负数个数:%d,总和:%f\n", negative_count, negative_sum);
return 0;
}
```
在上面的代码中,我们首先使用printf函数提示用户输入一组实数,并使用scanf函数读取第一个实数。然后我们使用while循环,当读取到的实数不为0时,根据实数的正负性分别统计正数个数、正数总和、负数个数和负数总和,并继续读取下一个实数,直到读取到0为止。最后,我们打印正数个数、正数总和、负数个数和负数总和,并返回0以表示程序正常结束。
c语言输入10个整数存入一维数组,统计输出其中的正数、负数和零的个数
下面是一个简单的 C 语言程序,可以实现输入10个整数存入一维数组,并统计输出其中的正数、负数和零的个数:
```c
#include <stdio.h>
int main() {
int nums[10];
int positive_count = 0, negative_count = 0, zero_count = 0;
printf("请依次输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
if (nums[i] > 0) {
positive_count++;
} else if (nums[i] < 0) {
negative_count++;
} else {
zero_count++;
}
}
printf("正数个数:%d\n", positive_count);
printf("负数个数:%d\n", negative_count);
printf("零的个数:%d\n", zero_count);
return 0;
}
```
首先,我们创建一个长度为10的整数数组 nums,用来存储输入的10个整数。
然后使用 for 循环,让用户输入10个整数并存储到数组中。在输入的同时,我们判断该数的正负性,并记录下正数、负数和零的个数。
最后,我们输出统计结果。
阅读全文