用C++写一个程序,有一个字符串,共20个字符,要求统计出其中英文大写字母、小写字母、数字、空格、其他字符的个数。
时间: 2024-06-09 11:11:14 浏览: 136
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数
5星 · 资源好评率100%
以下是一个统计字符串中各种字符数量的C程序:
```c
#include <stdio.h>
int main() {
char str[20];
int i, upper = 0, lower = 0, digit = 0, space = 0, other = 0;
printf("请输入一个20个字符的字符串:\n");
scanf("%s", str);
for (i = 0; i < 20; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else if (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;
}
```
解释一下程序的思路:
首先定义一个字符数组 `str`,用于存储输入的字符串。
然后定义五个变量 `upper`、`lower`、`digit`、`space`、`other`,分别用于统计大写字母、小写字母、数字、空格、其他字符的个数,初始化为0。
接着使用 `scanf` 函数从标准输入中读取一个字符串,存放到 `str` 中。
使用 `for` 循环遍历 `str` 中的每个字符,对于每个字符判断其属于哪种类型,分别累加到对应的变量中。
最后输出各种字符的数量即可。
阅读全文