用c语言输入一行字符,分别统计其中英文字母、空格、数字、其他字符的个数
时间: 2023-12-13 12:05:26 浏览: 69
好的,我可以帮你解决这个问题。下面是一个示例程序,可以实现以上功能。
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letters = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符:\n");
fgets(str, sizeof(str), stdin); // 从标准输入读入一行字符
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letters++;
} else if (isspace(str[i])) {
spaces++;
} else if (isdigit(str[i])) {
digits++;
} else {
others++;
}
}
printf("统计结果:\n");
printf("英文字母:%d\n", letters);
printf("空格:%d\n", spaces);
printf("数字:%d\n", digits);
printf("其他字符:%d\n", others);
return 0;
}
```
这个程序使用了一个字符数组 `str` 来存储用户输入的一行字符,然后遍历每个字符,根据其类型进行计数统计。在遍历过程中,使用了 `isalpha()` 、 `isspace()` 和 `isdigit()` 等函数判断字符的类型。
注意,此程序并没有对用户输入的字符做长度或类型的限制,所以请确保输入不超过字符数组的大小,并且合法。
阅读全文