程序应用字符数组存储从键盘输入的一行英文(100个以内),统计各个字符出现的次数。请完善程序。 裁判测试程序样例: #include <stdio.h> int main(){ char c[100]; gets(c); { /* 请在这里填写答案 */ } return 0; }
时间: 2024-01-26 11:02:56 浏览: 32
完善后的程序如下:
```c
#include <stdio.h>
int main(){
char c[100];
int count[26] = {0}; // 用于统计每个字母出现的次数,初始化为0
gets(c);
for(int i=0; c[i] != '\0'; i++){
if(c[i] >= 'a' && c[i] <= 'z'){ // 如果是小写字母
count[c[i]-'a']++; // 对应字母出现的次数加1
}
else if(c[i] >= 'A' && c[i] <= 'Z'){ // 如果是大写字母
count[c[i]-'A']++; // 对应字母出现的次数加1
}
}
for(int i=0; i<26; i++){
if(count[i] != 0){ // 如果该字母出现过
printf("%c:%d\n", 'a'+i, count[i]); // 输出该字母和出现次数
}
}
return 0;
}
```
程序思路:
1. 声明一个字符数组 `c` 存储输入的字符串,声明一个整型数组 `count` 存储每个字母出现的次数,初始化为0。
2. 使用 `gets()` 函数从键盘输入一行英文,存储到字符数组 `c` 中。
3. 遍历字符数组 `c` 中的每个字符,判断其是否为字母。
4. 如果是小写字母,将对应字母出现的次数加1,即 `count[c[i]-'a']++`。
5. 如果是大写字母,将对应字母出现的次数加1,即 `count[c[i]-'A']++`。
6. 遍历整型数组 `count`,如果某个字母出现过,则输出该字母和出现次数。注意输出时要将字母转换为对应的 ASCII 码。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)