用c语言写如下代码:输入一行字符,以'#'作为结束标志,分别统计出其中的英文字母、空格、数字和其他字符的个数。 相关知识
时间: 2024-02-05 20:12:44 浏览: 89
C语言中可以使用字符数组来存储输入的一行字符,然后逐个判断每个字符属于哪一类,最后统计计数即可。
代码如下:
```c
#include <stdio.h>
int main() {
char str[100];
int letters = 0, spaces = 0, digits = 0, others = 0;
printf("请输入一行字符,以'#'作为结束标志:\n");
fgets(str, 100, stdin); // 从标准输入读取一行字符
for (int i = 0; str[i] != '#'; i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
letters++;
} else if (str[i] == ' ') {
spaces++;
} else if (str[i] >= '0' && str[i] <= '9') {
digits++;
} else {
others++;
}
}
printf("英文字母个数:%d\n", letters);
printf("空格个数:%d\n", spaces);
printf("数字个数:%d\n", digits);
printf("其他字符个数:%d\n", others);
return 0;
}
```
该程序首先定义一个长度为100的字符数组`str`,并定义四个整型变量`letters`、`spaces`、`digits`和`others`,分别用来统计英文字母、空格、数字和其他字符的个数。
程序通过`fgets`函数从标准输入中读取一行字符,存储到`str`数组中。然后使用一个循环逐个判断`str`数组中的字符属于哪一类,并更新相应计数器的值。
最后输出统计结果即可。
阅读全文