c语言:从键盘上输入十个数,统计正负数,零的个数(用while语句)
时间: 2024-11-28 16:25:26 浏览: 17
在C语言中,你可以使用while循环结合条件判断来实现这个功能。以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int num, count_positive = 0, count_zero = 0;
printf("请输入十个数:\n");
while (count_positive + count_zero < 10) { // 当输入的数不足10个时继续循环
scanf("%d", &num); // 从键盘读取一个整数
if (num > 0) { // 判断是否为正数
count_positive++;
} else if (num == 0) { // 判断是否为零
count_zero++;
}
}
printf("正数有 %d 个,零有 %d 个。\n", count_positive, count_zero);
return 0;
}
```
在这个程序中,我们首先初始化两个计数器(count_positive 和 count_zero),然后通过while循环不断读取用户输入的数字,直到计数达到10为止。每输入一个数,我们就检查它是正数、零还是负数,并相应地更新计数。
相关问题
c语言:从键盘上输入十个数,统计正数负数和零的个数(用while语句)
在C语言中,你可以使用while循环结构来从键盘输入十个数,并同时统计正数、负数和零的个数。这里是一个简单的示例:
```c
#include <stdio.h>
int main() {
int num, count_pos = 0, count_neg = 0, count_zero = 0;
printf("请输入十个数,输入-1结束:\n");
while (count_pos < 10) {
scanf("%d", &num);
if (num > 0) {
count_pos++;
} else if (num < 0) {
count_neg++;
} else {
count_zero++;
}
}
printf("正数有:%d个\n", count_pos);
printf("负数有:%d个\n", count_neg);
printf("零有:%d个\n", count_zero);
return 0;
}
```
这个程序首先定义了三个计数器(count_pos、count_neg 和 count_zero),然后进入while循环,只要正数的数量小于10。用户通过`scanf`函数输入数字,根据条件判断是增加相应的计数器。当用户输入-1时,循环结束,最后打印出各数类型的计数。
C语言用do while语句实现统计正负数的个数,正负数和零用键盘输入
在C语言中,你可以使用`do-while`循环结合条件判断来实现这个功能。下面是一个简单的示例程序,它会不断地从用户处获取输入,直到输入不是数字为止,并统计正数、负数和零的个数:
```c
#include <stdio.h>
int main() {
int num = 0, positive = 0, negative = 0;
do {
printf("请输入一个整数(输入非数字结束): ");
char input[10];
fgets(input, sizeof(input), stdin);
// 去除换行符
input[strlen(input) - 1] = '\0';
// 判断输入是否为整数
if (sscanf(input, "%d", &num) == 1) {
if (num > 0)
positive++;
else if (num < 0)
negative++;
else // 如果等于0
num++; // 防止再次检查0,这里加1跳过本次循环
} else {
break; // 输入非数字,退出循环
}
} while (true);
printf("正数有 %d 个,负数有 %d 个,零有 %d 个。\n", positive, negative, num - positive - negative);
return 0;
}
```
在这个程序中,我们先初始化计数器 `positive`, `negative` 和一个临时变量 `num`。然后进入一个无限循环(`do...while(true)`),读取用户的输入并尝试解析为整数。如果输入有效,我们会根据数值的正负增加相应的计数;如果无效(即非数字),就通过`break`跳出循环。最后输出统计结果。
阅读全文