孤寐者43 2023-05-18 17:30 采纳率: 100%
浏览 17
已结题

编写程序对于给定的字符数组统计阿拉伯数字数字0-9出现的次数,并对数字出现的次数进行降序排序,然后对各个数字按照降序序列输出数字及出现次数。

char str[200] = {"109238475629020349ejlqjwlrqusfwkjrop345678<>jlsjf0293847348599357838237473728838383856"};
要求:iostream库,冒泡排序

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-05-18 21:10
    关注

    供参考:

    #include<iostream>
    using namespace std;
    int main()
    {
        int  num[10] = {0,1,2,3,4,5,6,7,8,9}, cnt[10] = {0}, i, j, t;
        char str[200] = {"109238475629020349ejlqjwlrqusfwkjrop345678<>"
                         "jlsjf0293847348599357838237473728838383856"};
    
        for (i = 0;str[i]; i++){ // 统计
            if (str[i] >= '0' && str[i] <= '9')
                cnt[str[i] - '0']++;
        }
        for (i = 9; i > 0; i--){   // 排序
            for (j = 0;j < i; j++){
                if (cnt[j] < cnt[j + 1]) {
                    t = cnt[j], cnt[j] = cnt[j+1], cnt[j+1] = t;
                    t = num[j], num[j] = num[j+1], num[j+1] = t;
                }
            }
        }
        for (i = 0; i < 10; i++)  // 输出 数字:出现次数
            cout << num[i] << ":" << cnt[i] << endl;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月27日
  • 已采纳回答 5月19日
  • 创建了问题 5月18日

悬赏问题

  • ¥15 资源泄露软件闪退怎么解决?
  • ¥15 各位佬,下面的问题怎么用python实现?
  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化