1 条题解

  • 0
    @ 2025-10-30 10:50:33

    思路分析

    1. 任务拆解:

    • 读取数字个数n和需要输出的最小数个数k
    • 读取n个正整数
    • 对数组进行升序排序
    • 输出前k个最小的数

    2. 关键点分析:

    • 使用冒泡排序进行升序排列
    • 排序后前k个元素就是最小的k个数
    • 允许重复数字,直接按排序后顺序输出即可
    • 不需要去重,重复数字可以重复输出

    3. 步骤规划: 第一步:读取n和k 第二步:循环读取n个正整数 第三步:使用冒泡排序进行升序排列 第四步:输出前k个元素

    4. 代码对应:

    • cin>>n>>k:读取数字个数和需要输出的最小数个数
    • 第一个for循环:输入n个正整数
    • 排序双重循环:进行升序冒泡排序
    • if(a[j]>a[j+1]):将较小值交换到前面
    • 输出循环:输出前k个最小的数
    • cout<<a[i]<<" ":输出结果并用空格分隔
    • 1

    信息

    ID
    1047
    时间
    1000ms
    内存
    32MiB
    难度
    4
    标签
    (无)
    递交数
    464
    已通过
    201
    上传者