C语言编程实现输入三个字符串,分别统计英文小写字母、大写字母、数字、 空格和其他字符各有几个
时间: 2024-11-06 09:19:36 浏览: 18
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
在C语言中,你可以通过遍历输入的字符串并分析每个字符所属的类别来实现这个功能。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的函数
void count_chars(char *str) {
int lower = 0; // 统计小写字母
int upper = 0; // 统计大写字母
int digits = 0; // 统计数字
int spaces = 0; // 统计空格
int others = 0; // 统计其他字符
while (*str) { // 遍历字符串直到遇到空字符
if (islower(*str)) { // 如果是小写字母
lower++;
} else if (isupper(*str)) { // 如果是大写字母
upper++;
} else if (isdigit(*str)) { // 如果是数字
digits++;
} else if (*str == ' ') { // 如果是空格
spaces++;
} else { // 其他非字母数字和空格字符
others++;
}
str++; // 移动指针到下一个字符
}
printf("小写字母: %d\n", lower);
printf("大写字母: %d\n", upper);
printf("数字: %d\n", digits);
printf("空格: %d\n", spaces);
printf("其他字符: %d\n", others);
}
int main() {
char input[100]; // 存储用户输入的字符串
printf("请输入三个字符串,按回车键结束:\n");
fgets(input, sizeof(input), stdin);
// 分别统计输入的每一个字符串
count_chars(input);
count_chars(strcpy(input + strlen(input) - 1, "\0")); // 继续处理第二个字符串,假设中间以'\n'分隔
count_chars(input + strlen(input) * 2 - 1); // 类似地处理第三个字符串
return 0;
}
```
在这个程序中,`islower`, `isupper`, 和 `isdigit` 函数分别用于检查字符是否为小写字母、大写字母和数字。注意,因为`fgets`会读取包括换行符在内的内容,所以在计算下一部分字符串之前需要先去掉最后一个字符。
阅读全文