C语言从键盘输入字串,分别统计其中数字符号、大写字符、小写字符和其它字符的个数
时间: 2024-09-13 09:08:40 浏览: 61
C语言求两个字符串的最长公共子串
在C语言中,为了统计键盘输入字符串中的数字、大写字母、小写字母和其他字符(如空格、标点等)的个数,你可以使用`ctype.h`库中的函数来检查每个字符的类别。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char str[100];
int num_count = 0, upper_case = 0, lower_case = 0, other_chars = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 防止换行符进入结果
str[strlen(str) - 1] = '\0'; // 删除fgets添加的换行符
for (int i = 0; str[i]; i++) { // 遍历字符串
if (isdigit(str[i])) {
num_count++;
} else if (isupper(str[i])) {
upper_case++;
} else if (islower(str[i])) {
lower_case++;
} else {
other_chars++; // 包含所有非字母数字字符
}
}
printf("统计结果:
- 数字字符个数:%d\n", num_count);
printf("大写字母个数:%d\n", upper_case);
printf("小写字母个数:%d\n", lower_case);
printf("其他字符个数:%d\n", other_chars);
return 0;
}
```
在这个程序中,`isdigit()`检查字符是否为数字,`isupper()`检查字符是否为大写字母,`islower()`检查字符是否为小写字母。如果都不是,那么就视为其他字符。
阅读全文