C语言 输入一个字符串,找出其中大写字母、小写字母、空格、数字以及其它字符各有多少个。
时间: 2023-07-10 22:37:35 浏览: 109
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
好的,这是一个关于字符串处理的问题,我可以帮你解答。
你可以使用 C语言中的字符数组来存储输入的字符串,然后遍历整个数组,统计其中大写字母、小写字母、空格、数字以及其它字符的个数。
具体实现方法如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0, space = 0, digit = 0, other = 0;
printf("请输入一个字符串:");
gets(str);
for (int i = 0; str[i] != '\0'; i++) {
char c = str[i];
if (isupper(c)) {
upper++;
} else if (islower(c)) {
lower++;
} else if (isspace(c)) {
space++;
} else if (isdigit(c)) {
digit++;
} else {
other++;
}
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("空格个数:%d\n", space);
printf("数字个数:%d\n", digit);
printf("其它字符个数:%d\n", other);
return 0;
}
```
以上代码使用了 C语言中的字符处理函数 `isupper`、`islower`、`isspace` 和 `isdigit` 来判断字符的类型,然后分别累加相应的计数器。
注意,以上代码中使用了 `gets` 函数来读取用户输入的字符串,但是这个函数不安全,可能会导致缓冲区溢出。如果你使用的是 C语言11标准及以上的编译器,可以使用 `fgets` 函数来代替 `gets` 函数。
阅读全文