C语言 用getchar方法 从键盘任意输入一行字符串,分别统计输入字符串中数字字符,字母字符和其他字符个数
时间: 2024-12-13 16:19:52 浏览: 14
C语言统计一串字符中空格键、Tab键、回车键、字母、数字及其他字符的个数(Ctrl+Z终止输入)
在C语言中,你可以使用`getchar()`函数配合循环结构来逐个读取用户的输入,并判断每个字符是数字、字母还是其他字符。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 引入ctype头文件,包含用于检查字符类型的宏
int main() {
char input[100]; // 定义一个足够大的数组存储用户输入
int num_chars = 0; // 数字字符计数器
int alpha_chars = 0; // 字母字符计数器
int other_chars = 0; // 其他字符计数器
// 循环读取用户输入直到遇到换行符
while (getchar() != '\n') {
if (isdigit(input[current_char])) { // 检查是否为数字字符
num_chars++;
} else if (isalpha(input[current_char])) { // 检查是否为字母字符
alpha_chars++;
} else { // 如果不是数字或字母,则视为其他字符
other_chars++;
}
}
printf("Number of digits: %d\n", num_chars);
printf("Number of letters: %d\n", alpha_chars);
printf("Number of other characters: %d\n", other_chars);
return 0;
}
```
在这个程序中,我们通过`isdigit()`和`isalpha()`函数检测字符类型,然后累加到相应的计数器中。注意,你需要在main函数开始前定义`current_char`变量并初始化为0,因为在`getchar()`读取字符后,需要更新这个索引。
阅读全文