c语言:用while getchar输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
时间: 2023-11-25 22:30:03 浏览: 222
可以使用 `while` 循环结合 `getchar` 函数来实现输入一行字符的功能,然后使用字符分类判断来统计其中英文字母、空格、数字和其他字符的个数。代码如下:
```c
#include <stdio.h>
int main()
{
char ch;
int letter = 0, space = 0, digit = 0, other = 0;
printf("请输入一行字符:\n");
while ((ch = getchar()) != '\n') {
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
letter++;
} else if (ch == ' ') {
space++;
} else if (ch >= '0' && ch <= '9') {
digit++;
} else {
other++;
}
}
printf("其中英文字母:%d个,空格:%d个,数字:%d个,其他字符:%d个\n", letter, space, digit, other);
return 0;
}
```
其中,`getchar()` 函数每次读取一个字符,如果读取到回车字符 `\n` 就结束输入。使用 `if` 语句来判断每个字符属于哪一类,并对应地将相应的计数器加 1。最后输出各个类别的字符个数。
阅读全文