用C语言解决输入一个字符串,可能包括换行符,分别统计出其中英文字母、空格、数字和其他字符的个数。
时间: 2024-01-09 12:43:04 浏览: 77
C语言统计字符串中字母、数字、空格和其他字符的个数
可以使用C语言的字符处理函数,如isalpha()、isspace()和isdigit()等来判断字符的类型,然后分别计数即可。以下是一个示例代码:
```c
#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("字母个数:%d\n", letters);
printf("空格个数:%d\n", spaces);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
注意,fgets()函数可以读取包括空格和换行符在内的整行输入,而gets()函数只能读取空格之前的输入,容易导致缓冲区溢出。
阅读全文