c语言输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数
时间: 2023-06-19 19:10:30 浏览: 139
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
可以使用C语言的字符数组和循环语句来实现这个功能。
以下是代码实现:
```c
#include <stdio.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 ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
letters++;
} else if (str[i] == ' ') {
spaces++;
} else if (str[i] >= '0' && str[i] <= '9') {
digits++;
} else {
others++;
}
}
printf("字母个数:%d\n", letters);
printf("空格个数:%d\n", spaces);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
代码说明:
1. 定义一个字符数组 `str`,用于存储输入的一行字符;
2. 定义四个变量 `letters`、`spaces`、`digits`、`others`,分别表示英文字母、空格、数字和其他字符的个数,初始化为 0;
3. 使用 `fgets()` 函数从标准输入读取一行字符,并将其存储到字符数组 `str` 中;
4. 使用 `for` 循环遍历字符数组 `str` 中的每个字符,判断其类型并更新对应的变量;
5. 最后输出统计结果。
注意:
1. 在输入一行字符时,可以使用 `fgets()` 函数,它可以读取一行字符,并自动在末尾添加一个换行符 `\n`;
2. 在判断字符类型时,可以使用字符的 ASCII 码值进行比较。例如,大写字母的 ASCII 码值范围为 65~90,小写字母的 ASCII 码值范围为 97~122;
3. 在输出统计结果时,要使用对应的变量值,并在输出字符串中使用占位符 `%d`,表示需要输出一个整数。
阅读全文