分别统计一个字符串中出现小写字母、大写字母、数字和空格的个数。 输入格式: 在一行中输入长度不超过40的字符串。 输出格式: 第一行中输出“小写字母=x“ 第二行中输出“大写字母=y“ 第三行中输出“数字=z” 第四行中输出“空格=m” 所有结果均原样输出,没有列宽控制。用C语言编程
时间: 2024-03-02 08:51:07 浏览: 57
C语言程序设计-分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80);.c
5星 · 资源好评率100%
以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[41];
int lowercase = 0, uppercase = 0, digits = 0, spaces = 0;
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
lowercase++;
} else if (isupper(str[i])) {
uppercase++;
} else if (isdigit(str[i])) {
digits++;
} else if (isspace(str[i])) {
spaces++;
}
}
printf("小写字母=%d\n", lowercase);
printf("大写字母=%d\n", uppercase);
printf("数字=%d\n", digits);
printf("空格=%d\n", spaces);
return 0;
}
```
首先,我们定义了一个长度为 41 的字符数组 `str`,用于存储输入的字符串。
然后,我们定义了四个变量 `lowercase`、`uppercase`、`digits` 和 `spaces`,分别表示小写字母、大写字母、数字和空格的个数,初始化为 0。
接着,我们使用 `fgets` 函数从标准输入中读入字符串,并将其存储在 `str` 中。`fgets` 函数的第二个参数表示读入字符的最大数量,因为我们定义的数组大小为 41,所以最大读入数量为 40。
最后,我们使用一个 for 循环遍历字符串 `str`,并使用 `islower`、`isupper`、`isdigit` 和 `isspace` 函数判断每个字符的类型,从而统计每种类型字符出现的个数。
最后,我们使用 `printf` 函数输出结果,注意格式符号 `%d` 表示输出整数。
阅读全文