输入一行字符,按字母、数字和其他字符分成三类,分别统计各类字符的数目(换行字符’\n’不统计在内)。提示:理解和掌握 while ( (c=getchar( )) !=’\n’)
时间: 2024-12-14 18:15:26 浏览: 7
当你需要从标准输入流(通常是键盘)读取一行字符,并按照字母、数字和其他字符分类统计它们的数量时,可以使用 C 语言中的 getchar 函数逐个获取字符。while 循环结构会持续读取字符,直到遇到换行符 '\n'。在这个循环里,你可以创建三个计数器,分别用于存储字母、数字和非字母数字字符的个数。
以下是一个简单的示例代码片段:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类别函数的头文件
int main() {
int alpha_count = 0; // 字母计数器
int digit_count = 0; // 数字计数器
int other_count = 0; // 其他字符计数器
while ((c = getchar()) != '\n') { // 当不是换行符时继续循环
if (isalpha(c)) { // 如果字符是字母
alpha_count++;
} else if (isdigit(c)) { // 如果字符是数字
digit_count++;
} else { // 否则是其他字符(包括特殊字符)
other_count++;
}
}
printf("字母: %d\n", alpha_count);
printf("数字: %d\n", digit_count);
printf("其他字符: %d\n", other_count);
return 0;
}
```
在这个程序中,`isalpha()` 和 `isdigit()` 分别检查字符是否为字母或数字。循环结束后,会显示各类字符的数量。记得在结束循环后关闭输入流,例如通过调用 `getchar()` 来吃掉潜在的换行符,以防影响后续输入。
阅读全文