C语言dowhile循环分正负数字个数
时间: 2024-11-10 17:14:12 浏览: 16
在C语言中,do-while循环可以用来遍历数组或者处理输入流,包括区分正负数字的个数。如果你有一个整型数组,你可以通过do-while循环逐个检查元素的符号(正数或负数),并用计数器来记录正数和负数的数量。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int arr[] = {1, -2, 3, -4, 5};
int positive_count = 0;
int negative_count = 0;
int i;
do {
if (arr[i] > 0) {
positive_count++;
} else if (arr[i] < 0) {
negative_count++;
}
i++; // 每次迭代都增加索引
} while (i < sizeof(arr) / sizeof(arr[0]));
printf("Positive numbers: %d\n", positive_count);
printf("Negative numbers: %d\n", negative_count);
return 0;
}
```
在这个例子中,do-while循环会一直运行,直到遍历完整个数组。每次循环,它都会检查当前元素的符号,并相应地更新正数或负数计数器。
相关问题
C语言dowhile循环分正负数字个数键盘输入
在C语言中,do-while循环可以用于读取用户输入的正负数字并计算它们的个数。以下是简单的示例代码片段:
```c
#include <stdio.h>
int main() {
int positive_count = 0, negative_count = 0;
char input;
do {
printf("请输入一个数字(输入'q'退出): ");
scanf("%d", &input);
if (input != 'q') { // 检查是否是要退出
if (input > 0) {
positive_count++;
} else if (input < 0) {
negative_count++;
}
}
} while (input != 'q'); // 只有当输入不是'q'时继续循环
printf("\n正数的数量: %d\n", positive_count);
printf("负数的数量: %d\n", negative_count);
return 0;
}
```
在这个程序中,我们使用do-while循环保证至少会读取一次用户的输入。用户每输入一个数字,我们就检查它的正负,并相应地增加计数器。直到用户输入'q'表示退出,循环才会终止。
C语言输入一组数并统计正负
以下是一个示例程序,可以输入一组数,并统计其中正数和负数的个数:
```
#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` 类型来存储输入的数。
阅读全文