当前位置: 首页 > article >正文

c语言编写程序,找出出现次数最高的数字 数字范围1-1000 时间复杂度不超过O(n)

以下是一个使用C语言编写的程序,可以找出1到1000之间出现次数最高的数字,时间复杂度不超过O(n)。

#include <stdio.h>

int main() {
    int occurrences[1001] = {0};
    int max_occurrences = 0;
    int max_number = 0;

    // 输入一组数字,以-1作为结束标志
    int number;
    printf("请输入一组数字,以-1作为结束标志:\n");
    while (1) {
        scanf("%d", &number);
        if (number == -1) {
            break;
        }

        // 记录数字出现的次数
        occurrences[number]++;
        
        // 更新最大出现次数和对应的数字
        if (occurrences[number] > max_occurrences) {
            max_occurrences = occurrences[number];
            max_number = number;
        }
    }

    printf("出现次数最多的数字是 %d,共出现了 %d 次。\n", max_number, max_occurrences);

    return 0;
}

该程序首先创建了一个长度为1001的数组occurrences,用于记录数字的出现次数。然后,程序要求用户输入一组数字,以-1作为结束标志。在每次输入一个数字后,程序会将该数字对应的数组元素加1,并与当前的最大出现次数进行比较,如果大于最大出现次数,则更新最大出现次数和对应的数字。当用户输入-1时,程序退出循环,并输出出现次数最多的数字和其出现次数。


http://www.kler.cn/a/315041.html

相关文章:

  • MySQL(5)【数据类型 —— 字符串类型】
  • 解锁微前端的优秀库
  • Spring-Webflux + Reactor + Netty 初体验
  • AI大模型开发架构设计(18)——基于大模型构建企业知识库案例实战
  • 山泽光纤HDMI线:铜线的隐藏力量
  • 服务器显卡和桌面pc显卡有什么不同
  • html,css基础知识点笔记(二)
  • VB中的垃圾回收(Garbage Collection)机制
  • 二叉搜索树(附源码C++)
  • 将sqlite3移植到开发板上
  • frp内网穿透部署
  • vue一级、二级路由设计
  • 论文阅读-Demystifying Misconceptions in Social Bots Research
  • Ubuntu20.04 搜索不到任何蓝牙设备
  • 【SpringCloud】优雅实现远程调用 - OpenFeign
  • 鸿蒙【项目打包】- .hap 和 .app;(测试如何安装发的hap包)(应用上架流程)
  • 二二复制模式小程序商城开发
  • Python中的IPython:交互式的Python shell
  • 算法题之宝石与石头
  • 微服务、云计算、分布式开发全套课程课件,来原于企培和多年大厂工作提炼
  • el-form动态标题和输入值,并且最后一个输入框不校验
  • Python 课程16-OpenCV
  • C++门迷宫
  • C++高精度计时方法总结(测试函数运行时间)
  • Axios基本语法和前后端交互
  • 【数据结构】排序算法---计数排序