C语言编写程序,输入一个以回车符结束的字符串(少于 80 个字符),分别统计其中英文字母,数字、其他字符的个数
时间: 2024-01-11 15:04:41 浏览: 26
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
char str[80]; // 定义一个长度为80的字符数组
int i, alpha = 0, digit = 0, other = 0; // 初始化三个计数器
printf("请输入一串字符(少于80个字符):\n");
fgets(str, 80, stdin); // 从标准输入读入字符串
for (i = 0; str[i] != '\0' && str[i] != '\n'; i++) { // 遍历整个字符串
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
alpha++; // 如果是字母,计数器加1
} else if (str[i] >= '0' && str[i] <= '9') {
digit++; // 如果是数字,计数器加1
} else {
other++; // 如果是其他字符,计数器加1
}
}
printf("字母个数:%d\n", alpha);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
代码解释:
1. 定义了一个长度为80的字符数组 `str`,用于存储输入的字符串;
2. 初始化三个计数器 `alpha`、`digit`、`other` 分别代表字母个数、数字个数、其他字符个数;
3. 使用 `fgets()` 函数从标准输入中读入字符串,注意 `fgets()` 函数会自动在字符串末尾添加一个换行符 `'\n'` 或者字符串结束符 `'\0'`,因此需要在遍历字符串时加上 `str[i] != '\n'` 的判断;
4. 使用 `for` 循环遍历整个字符串,如果字符在字母范围内则将字母计数器加1,如果字符在数字范围内则将数字计数器加1,否则将其他字符计数器加1;
5. 最后输出三个计数器的值。
希望能帮到你!