用C语言循环结构写一个代码:输入一行字符,以'#'作为结束标志,分别统计出其中的英文字母、空格、数字和其他字符的个数。
时间: 2024-05-12 12:18:50 浏览: 10
'作为结束标志,统计其中的大写字母、小写字母、数字字符以及其他字符的个数。
代码如下:
```
#include <stdio.h>
int main()
{
char ch;
int upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入一串字符,以回车结束:\n");
while ((ch = getchar()) != '\n')
{
if (ch >= 'A' && ch <= 'Z')
upper++;
else if (ch >= 'a' && ch <= 'z')
lower++;
else if (ch >= '0' && ch <= '9')
digit++;
else
other++;
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字字符个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
解释一下代码的逻辑:
1. 定义变量 `ch` 用于接收输入的字符,同时定义变量 `upper`、`lower`、`digit`、`other` 分别记录大写字母、小写字母、数字字符、其他字符的个数,初始值均为 0。
2. 提示用户输入一串字符。
3. 使用 `while` 循环结构,判断输入的字符是否为结束标志 `'\\n'`,如果不是则继续执行循环体。在循环体中,根据字符的 ASCII 码值判断该字符属于哪一类(大写字母、小写字母、数字字符、其他字符),并将对应变量的值加 1。
4. 循环结束后,输出各类字符的个数。
5. 返回 0,表示程序正常结束。