有一篇文章,共有三行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其它字符的个数。 程序的运行示例如下: 请输入第0行: helloworld 请输入第1行: 12345gogogo 请输入第2行: end bye bye. helloworld 12345gogogo end bye bye. 大写字母数:0 小写字母数:25 数字个数 :5 空格个数 :2 其它字符 :1 ***输入提示信息***:"\n请输入第%d行:\n" ***输入数据格式***:使用gets() ***输出数据格式***:"%s\n" "大写字母数:%d\n" "小写字母数:%d\n" "数字个数 :%d\n" "空格个数 :%d\n" "其它字符 :%d\n"
时间: 2024-02-25 19:57:36 浏览: 126
好的,这是一份简单的 C 语言代码,可以实现您的要求:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int uppercase = 0, lowercase = 0, digits = 0, spaces = 0, others = 0;
char line[80];
for (int i = 0; i < 3; i++) {
printf("\n请输入第%d行:\n", i);
gets(line);
for (int j = 0; j < 80; j++) {
if (line[j] == '\0') break;
else if (isupper(line[j])) uppercase++;
else if (islower(line[j])) lowercase++;
else if (isdigit(line[j])) digits++;
else if (isspace(line[j])) spaces++;
else others++;
}
}
printf("大写字母数:%d\n", uppercase);
printf("小写字母数:%d\n", lowercase);
printf("数字个数 :%d\n", digits);
printf("空格个数 :%d\n", spaces);
printf("其它字符 :%d\n", others);
return 0;
}
```
代码解释:
首先定义了 5 个变量来统计大写字母、小写字母、数字、空格和其它字符的数量。
使用 `gets()` 函数从标准输入中输入每一行文字,然后对每个字符进行判断,如果是大写字母,则 `uppercase` 变量加 1,以此类推。
最后输出结果。
需要注意的是,`gets()` 函数存在缺陷,可能存在缓冲区溢出的问题。可以使用更安全的函数 `fgets()` 来代替。
阅读全文