用C语言实现输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数
时间: 2023-11-25 21:03:35 浏览: 100
好的,让我帮您解答这个问题。
要实现输入一行字符,可以使用C语言中的fgets函数,具体代码如下:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int alphabets = 0, digits = 0, spaces = 0, others = 0;
printf("请输入一行字符:");
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
alphabets++;
} else if (isdigit(str[i])) {
digits++;
} else if (isspace(str[i])) {
spaces++;
} else {
others++;
}
}
printf("输入的字符中,英文字母数量:%d\n", alphabets);
printf("输入的字符中,数字数量:%d\n", digits);
printf("输入的字符中,空格数量:%d\n", spaces);
printf("输入的字符中,其他字符数量:%d\n", others);
return 0;
}
```
这段代码中,我们定义了一个字符数组str,用于存储输入的字符串。然后使用fgets函数从标准输入(stdin)中读取一个字符串,最多读取sizeof(str)-1个字符,因为最后一个字符用来存放字符串结束符'\0'。接着使用for循环遍历字符串中的每个字符,利用C语言中的字符判断函数isalpha、isdigit、isspace来对字符进行分类,分别统计英文字母、数字、空格和其他字符的个数。最后输出统计结果。
希望这个答案能解决您的问题。如果您还有其他问题,欢迎随时向我提问。
阅读全文