程序应用字符数组存储从键盘输入的一行英文(100个以内),统计每个英文字母大小写和其他字符出现的次数。请完善程序。#include <stdio.h> int main(){ char c[100]; gets(c); { /* 请在这里填写答案 */ } return 0; }
时间: 2023-07-15 18:12:02 浏览: 51
完善的程序如下:
```c
#include <stdio.h>
int main() {
char c[100];
int count[128] = {0}; // 用于存储每个字符出现的次数,ASCII码共128个字符
gets(c);
for (int i = 0; c[i] != '\0'; i++) { // 遍历输入的字符串
if (c[i] >= 'A' && c[i] <= 'Z') { // 大写字母
count[c[i]]++;
} else if (c[i] >= 'a' && c[i] <= 'z') { // 小写字母
count[c[i] - 32]++; // 统计大写字母的数量
} else { // 其他字符
count[c[i]]++;
}
}
for (int i = 0; i < 128; i++) {
if (count[i] > 0) {
printf("%c: %d\n", i, count[i]);
}
}
return 0;
}
```
程序中使用了一个长度为128的整型数组,用于存储每个字符出现的次数。根据ASCII码表,共有128个字符(包括大小写字母、数字、标点符号等),因此数组长度为128。
遍历输入的字符串,对于每个字符判断其是否为大写字母、小写字母或其他字符,并将其出现次数加1。其中,对于小写字母,需要将其转换为大写字母并统计大写字母的数量。
最后,遍历整个数组,输出每个出现次数大于0的字符及其出现次数。