C语言输入一行字符分别统计其中英文字母空格数字
时间: 2024-12-17 17:17:34 浏览: 5
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
在C语言中,你可以通过循环遍历输入的一行字符,并利用ASCII码来进行区分统计。以下是简单的步骤:
1. 初始化变量:创建计数器,如`char_count`(英文字母)、`space_count`(空格)、`digit_count`(数字)为0。
```c
int char_count = 0;
int space_count = 0;
int digit_count = 0;
```
2. 使用`for`循环读取每一字符:
- 使用`getchar()`函数逐个读取输入的字符,直到遇到换行符`\n`为止。
- 判断字符类型:
- 对于字母(ASCII值65~90、97~122),加1到`char_count`;
- 对于空格(ASCII值32),加1到`space_count`;
- 对于数字(ASCII值48~57),加1到`digit_count`;
```c
while ( getchar() != '\n' ) {
if (isalpha((unsigned char) getchar())) {
char_count++;
} else if (getchar() == ' ') {
space_count++;
} else if (isdigit((unsigned char) getchar())) {
digit_count++;
}
}
```
3. 结束循环后,记得检查是否最后一个字符是换行符,如果是,则忽略它。
```c
if (getchar() == '\n') {
ungetc('\n', stdin);
}
```
最后,打印出统计结果:
```c
printf("英文字母: %d\n", char_count);
printf("空格: %d\n", space_count);
printf("数字: %d\n", digit_count);
```
阅读全文