用循环结构和getchar( )实现功能:输入一行字符(不超过100个),以回车换行符结束,要求分别统计出其中大写字母(Upper)、小写字母(Lower)、空格(Space)、数字(Digit)这几类字符的个数。
时间: 2024-11-30 18:18:26 浏览: 8
C语言统计一串字符中空格键、Tab键、回车键、字母、数字及其他字符的个数(Ctrl+Z终止输入)
可以使用C语言的循环结构(如for或while)结合`getchar()`函数实现这个功能。下面是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int upper = 0, lower = 0, space = 0, digit = 0;
char ch;
while ((ch = getchar()) != '\n') { // 循环直到遇到换行符
if (isupper(ch)) { // 判断是否为大写字母
upper++;
} else if (islower(ch)) { // 判断是否为小写字母
lower++;
} else if (isspace(ch)) { // 判断是否为空格
space++;
} else if (isdigit(ch)) { // 判断是否为数字
digit++;
}
}
printf("大写字母: %d\n", upper);
printf("小写字母: %d\n", lower);
printf("空格: %d\n", space);
printf("数字: %d\n", digit);
return 0;
}
```
在这个程序中,我们通过`getchar()`读取用户输入的一个字符,然后使用`isupper()`, `islower()`, `isspace()`, 和 `isdigit()` 函数判断字符的类别并累加相应的计数器。当遇到换行符时,跳出循环。
阅读全文