1 条题解

  • 0
    @ 2025-10-30 11:20:29

    思路分析

    1. 任务拆解:

    • 读取数字个数n
    • 读取n个整数
    • 将每个数字分解为单个数字
    • 将所有单个数字按从大到小排序
    • 输出排序后的数字序列

    2. 关键点分析:

    • "粉碎数字"意味着将每个数字分解为单个数字
    • 使用取模运算%和除法运算/分解数字的每一位
    • 将所有分解出的单个数字收集到一个数组中
    • 按从大到小排序后直接输出就是最大数

    3. 步骤规划: 第一步:读取数字个数n 第二步:循环读取n个整数 第三步:分解每个数字的每一位数字 第四步:将所有单个数字存入数组b 第五步:对数组b进行降序排序 第六步:输出排序后的数字序列

    4. 代码对应:

    • cin>>n:读取数字个数
    • 第一个for循环:输入原始数字
    • 第二个for循环:分解每个数字的各位数字
    • while(aii):循环分解数字直到为0
    • g=aii%10:获取个位数字
    • aii=aii/10:去掉个位数字
    • b[ans]=g:存储单个数字
    • sort(b+1,b+ans+1,greater<int>()):降序排序
    • 输出循环:输出组成最大数的数字序列
    • 1

    信息

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