输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。c语言
时间: 2023-11-23 13:04:01 浏览: 65
好的,这是一道关于字符串处理和字符统计的问题。
以下是 C 语言的代码实现:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letters = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符:");
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空格:%d\n数字:%d\n其他字符:%d\n", letters, spaces, digits, others);
return 0;
}
```
使用 fgets 函数获取输入的一行字符,然后遍历每个字符进行统计。isalpha、isspace 和 isdigit 函数判断字符是字母、空格还是数字。
如果输入的是 "Hello World! 123",则输出:
```
英文字母:10
空格:2
数字:3
其他字符:1
```
注意:这只是一个示例代码,实际使用中应该对输入进行判断,避免数组越界等问题。
阅读全文