C语言输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。 样例输出: 23 16 2 4
时间: 2024-03-10 08:50:03 浏览: 46
好的,这是一个关于 C 语言字符统计的问题,我会尽力解答。针对你的问题,你可以使用 C 语言中的字符数组来读入一行字符,然后遍历数组中的每个字符,判断该字符属于哪一类(英文字母、数字、空格或其他字符),并统计每一类字符的个数。
下面是一份简单的代码示例:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letters = 0, digits = 0, spaces = 0, others = 0;
fgets(str, 100, stdin); // 从标准输入读入一行字符
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 判断是否为字母
letters++;
} else if (isdigit(str[i])) { // 判断是否为数字
digits++;
} else if (isspace(str[i])) { // 判断是否为空格
spaces++;
} else { // 其他字符
others++;
}
}
printf("%d %d %d %d\n", letters, digits, spaces, others); // 输出各类字符的个数
return 0;
}
```
使用 `fgets` 函数可以读入一行字符,其中第一个参数是字符数组,第二个参数是数组大小,第三个参数是输入流(这里使用标准输入 `stdin`)。然后使用 `for` 循环遍历数组中的每个字符,使用 `isalpha` 函数判断是否为字母,使用 `isdigit` 函数判断是否为数字,使用 `isspace` 函数判断是否为空格,最后统计每一类字符的个数。最后使用 `printf` 函数输出各类字符的个数。
阅读全文