用C语言编译从键盘输入一个字符串,统计其中字母的个数、数字字符的个数、空格的个数、 其他字符的个数。
时间: 2024-05-07 17:22:35 浏览: 13
可以使用C语言中的字符处理函数`isalpha()`、`isdigit()`、`isspace()`来判断字符的类型。具体实现如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, letters = 0, digits = 0, spaces = 0, others = 0;
printf("请输入一个字符串:");
gets(str); // 读取输入的字符串
for (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\n", letters);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
return 0;
}
```
注意,上述代码使用了`gets()`函数来读取输入的字符串,但是该函数存在安全问题,因为它没有限制输入的字符串长度,容易导致缓冲区溢出。建议使用更安全的`fgets()`函数来代替。