博客
关于我
山科实验 Problem A: 分数统计
阅读量:606 次
发布时间:2019-03-13

本文共 1233 字,大约阅读时间需要 4 分钟。

为了解决这个问题,我们需要统计输入的分数,找出出现次数最多的分数,并按从小到大的顺序输出这些分数。

方法思路

  • 读取输入: 首先,我们需要读取输入的多个整数,直到遇到结束符EOF。
  • 处理分数: 对于每个输入的分数,如果它在0到100之间(包括0和100),则记录到对应的位置;否则,将其视为101,忽略。
  • 统计出现次数: 使用一个数组来记录每个分数的出现次数。数组的大小为101,索引0到100分别代表0到100的每个分数。
  • 跟踪最大值: 在记录出现次数的同时,跟踪出现次数最多的分数。
  • 输出结果: 最后,遍历数组,输出出现次数最多的分数,按从小到大的顺序排列。
  • 解决代码

        分数统计    

    分数统计程序

    #include
    int main() { int data; int max = 0; int count[101] = {0}; // 初始化所有计数为0 // 读取输入并统计分数 while (scanf("%d", &data) != EOF) { if (data < 0 || data > 100) { // 处理超出范围的分数(记为101) continue; } count[data]++; // 更新最大出现次数 if (count[data] > max) { max = count[data]; } } // 输出所有出现最多的分数,按从小到大排列 for (int i = 0; i <= 100; i++) { if (count[i] == max) { printf("%d\n", i); } } return 0; }

    代码解释

  • 初始设置: 读取输入的整数,初始化一个大小为101的数组count,用于记录每个分数的出现次数。
  • 输入处理: 对于每个输入的分数,如果它在0到100之间,则记录到count数组中,并更新最大出现次数max
  • 结果输出: 遍历count数组,找出所有出现次数等于max的分数,并按照从小到大的顺序输出。
  • 这种方法确保了高效地统计和处理分数,能够在合理的时间内完成任务。

    转载地址:http://ydnaz.baihongyu.com/

    你可能感兴趣的文章
    Altium Designer唤出关掉的窗口
    查看>>
    输入过欠压保护电路原理图
    查看>>
    altium designer PCB 屏蔽DRC报错
    查看>>
    Windows7自动安装驱动功能关闭与开启教程
    查看>>
    扩展屏幕没有连接,但程序窗口还在扩展屏幕上,在看不到这个屏幕的情况下,把程序窗口拉回来的方法
    查看>>
    MDK编译后生成bin文件占用FLASH大小说明
    查看>>
    六大原则
    查看>>
    Linux自有服务
    查看>>
    HDU A + B Problem II
    查看>>
    mask遮罩
    查看>>
    mybatis(xml方式)多数据源异常: Invalid bound statement (not found)
    查看>>
    LiteOS学习(一)任务
    查看>>
    随笔-调试小技巧
    查看>>
    PCL 点到面的ICP精配准(线性最小二乘优化)
    查看>>
    PCL 无序点云的三角剖分
    查看>>
    解决宝塔安装wordpress无法连接到数据库问题
    查看>>
    多选组件aSwitch——属性选择系列组件库(design by yRan)
    查看>>
    PAT乙级 15分题目总结
    查看>>
    h5移动端旋转90度自适应网页
    查看>>
    vue.js 横向(时间轴、步骤图、流程图)模版
    查看>>