从终端用 scanf 或 getchar 读入一系列字符。按如下方式对这些字符进行分类和统计。A~Z 判为大写英文字母;a-z 判为小写英文字母;0-9判为数字;不属于前3类的判为其它。遇到字符 @ 时,程序终止,并输出每一类的字符数量。
时间: 2024-09-10 21:10:11 浏览: 53
宽字符集操作函数
在C语言中,你可以使用`scanf`函数配合条件判断语句来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int uppercase = 0;
int lowercase = 0;
int digits = 0;
int others = 0;
char ch;
while ((ch = getchar()) != '@') { // 循环直到遇到 '@'
if (isupper(ch)) { // 大写字母
uppercase++;
} else if (islower(ch)) { // 小写字母
lowercase++;
} else if (isdigit(ch)) { // 数字
digits++;
} else { // 其他字符
others++;
}
}
printf("Uppercase letters: %d\n", uppercase);
printf("Lowercase letters: %d\n", lowercase);
printf("Digits: %d\n", digits);
printf("Other characters: %d\n", others);
return 0;
}
```
在这个程序中,`getchar()`用于逐个读取用户输入的字符,`isupper()`, `islower()`, 和 `isdigit()` 函数则分别检查字符是否属于大写字母、小写字母或数字。当遇到 '@' 字符时,跳出循环并统计结果。
阅读全文