如何用c语言统计由键盘输入的一串字符中数字字符,字母字符,其他字符各自的个数,要求使用while循环语句
时间: 2024-12-17 13:37:40 浏览: 18
在C语言中,你可以使用`while`循环配合ASCII码来区分并统计输入字符串中的数字、字母和其他字符。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
int digit_count = 0, letter_count = 0, other_count = 0;
printf("请输入一串字符:");
fgets(input, sizeof(input), stdin); // 注意这里使用fgets而不是scanf以防止换行符干扰
while (input != '\0') { // 当遇到空字符(字符串结束)
if (isdigit(input)) { // 判断是否为数字字符
digit_count++;
} else if (isalpha(input)) { // 判断是否为字母字符
letter_count++;
} else { // 其他字符(包括标点符号、空格等)
other_count++;
}
input++; // 移动指针到下一个字符
}
printf("数字字符有 %d 个,字母字符有 %d 个,其他字符有 %d 个。\n",
digit_count, letter_count, other_count);
return 0;
}
```
这个程序首先获取用户输入,然后通过`while`循环逐个检查每个字符。如果是数字,增加`digit_count`;如果是字母,增加`letter_count`;如果不是这两种情况(即不是数字也不是字母),增加`other_count`。最后输出各自字符的数量。
阅读全文