从键盘输入一行英文文字,不超过80个字符,分别统计出其中英文大写字母、小写字母、数字、空格、及其它字符的个数。 (利用字符数组下标访问数组中每个字符)。 测试说明 平台会对你编写的代码进行测试: 测试输入:Iam a student. My name is Tom. I am 19 years old. **** 预期输出: 大写字符4个 小写字符29个 数字2个 空格13个 其他字符7个用C语言实现
时间: 2024-02-27 15:57:43 浏览: 56
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[81];
int i, upper = 0, lower = 0, digit = 0, space = 0, other = 0;
printf("请输入一行英文文字:");
fgets(str, 81, stdin); // 从键盘读入一行字符
for (i = 0; str[i] != '\0'; i++) { // 遍历字符串
if (isupper(str[i])) { // 判断是否为大写字母
upper++;
} else if (islower(str[i])) { // 判断是否为小写字母
lower++;
} else if (isdigit(str[i])) { // 判断是否为数字
digit++;
} else if (isspace(str[i])) { // 判断是否为空格
space++;
} else { // 其他字符
other++;
}
}
printf("大写字符%d个\n", upper);
printf("小写字符%d个\n", lower);
printf("数字%d个\n", digit);
printf("空格%d个\n", space);
printf("其他字符%d个\n", other);
return 0;
}
```
这个程序先用 fgets 函数从键盘读入一行字符,然后遍历字符串,统计其中大写字母、小写字母、数字、空格和其他字符的个数。在遍历字符串的过程中,使用了 ctype.h 头文件中的 isupper、islower、isdigit、isspace 函数来判断每个字符的类型。
最后,输出统计结果。
阅读全文