榆544 2021-12-13 23:50 采纳率: 80%
浏览 90
已结题

【字符串】统计字母个数

统计一篇不超过500字的英语日记中26个字母出现的次数,不分大小写。最后输入’@’表示输入结束。

输入
不超过500个字符的英文,含大小写英字母、空格、引号、标点符号等。

输出
最多26行,每行第一项为小写字母,第二项为对应字母的个数,字母与个数之间用空格隔开,字母个数为0的不输出

  • 写回答

1条回答 默认 最新

  • 南七灵 2021-12-13 23:58
    关注
    
    #include <stdio.h>
    
    int main()
    {
        int fre[26] = {0},i = 0;
        char a[500],c;
        while((c = getchar()) != '@'){
            a[i] = c;
            if(a[i] >= 'a' && a[i] <= 'z'){
                fre[a[i] - 'a'] ++;
            }else if(a[i] >= 'A' && a[i] <= 'Z'){
                fre[a[i] - 'A'] ++;
            }
            i ++;
        }
        for(i = 0;i < 26;i++){
            if(fre[i] > 0){
                printf("%c %d\n",'a' + i,fre[i]);
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月13日

悬赏问题

  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?