c++从键盘输入1行字符串,要统计出其中英文大写字母、小写字母、数字、空格及其他字符各有多少个
时间: 2023-06-13 07:03:13 浏览: 445
可以使用C语言中的字符处理函数来实现该功能。以下是一个例子:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0, digit = 0, space = 0, other = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
upper++;
} else if (islower(str[i])) {
lower++;
} else if (isdigit(str[i])) {
digit++;
} else if (isspace(str[i])) {
space++;
} else {
other++;
}
}
printf("大写字母:%d\n", upper);
printf("小写字母:%d\n", lower);
printf("数字:%d\n", digit);
printf("空格:%d\n", space);
printf("其他字符:%d\n", other);
return 0;
}
```
解释:
1. 定义一个字符数组 `str` 存储输入的字符串。
2. 定义五个变量 `upper`、`lower`、`digit`、`space`、`other` 分别表示大写字母、小写字母、数字、空格和其他字符的数量,初始值都为 0。
3. 使用 `fgets` 函数从标准输入读取一行字符串并存储到 `str` 中。
4. 使用 `for` 循环遍历字符串中的每个字符,并根据字符的类型更新相应的变量。
5. 使用 `printf` 函数输出各个变量的值。
注意:
1. 在使用 `fgets` 函数时,需要指定读取的最大字符数,以防止输入的字符串超过数组的大小导致溢出。
2. 在判断某个字符的类型时,可以使用 C 标准库中的字符处理函数,例如 `isupper`、`islower`、`isdigit`、`isspace` 等。
阅读全文