C++循环结构实验——统计字符个数, 输入一行字符(假设不超过200个字符),分别统计出其中的英文字母、空格、数字、其它字符的个数。 输入 键盘输入一行字符 输出 输出英文字母、空格、数字、其它字符的个数,各个数之间有1个空格
时间: 2024-06-09 15:11:55 浏览: 150
好的,下面是使用 C 语言编写的程序,可以实现你的要求:
```c
#include <stdio.h>
int main() {
char str[201];
int letter = 0, space = 0, digit = 0, other = 0; // 分别记录英文字母、空格、数字、其它字符的个数
printf("请输入一行字符(不超过200个字符):\n");
fgets(str, 201, stdin); // 从标准输入读入一行字符,最多读入 200 个字符,包括换行符
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
letter++;
} else if (str[i] == ' ') {
space++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
}
printf("英文字母:%d 空格:%d 数字:%d 其它字符:%d\n", letter, space, digit, other);
return 0;
}
```
程序先定义了一个长度为 201 的字符数组 `str`,用于存储从键盘输入的一行字符。然后定义了 4 个整型变量 `letter`、`space`、`digit` 和 `other`,分别用于记录英文字母、空格、数字和其它字符的个数,初始值都为 0。接着使用 `fgets()` 函数从标准输入读入一行字符,最多读入 200 个字符,包括换行符。然后使用 `for` 循环遍历字符串中的每个字符,如果是英文字母,则 `letter` 加 1;如果是空格,则 `space` 加 1;如果是数字,则 `digit` 加 1;否则,说明是其它字符,`other` 加 1。最后输出统计结果即可。
希望对你有所帮助!
阅读全文