1 条题解

  • 0
    @ 2025-10-30 14:21:37

    思路分析

    1. 任务拆解:

    • 读取非负整数n
    • 计算n的位数
    • 按正序输出各位数字(用空格分隔)
    • 按逆序输出整个数字

    2. 关键点分析:

    • 使用循环统计位数并构建逆序数
    • 通过逆序数再次反转来获得正序输出
    • 注意处理n=0的特殊情况

    3. 步骤规划:

    • 读取n的值
    • 初始化位数计数器g=0,逆序数c=0
    • 循环处理n的每一位:
      • 获取个位数字w
      • 位数计数器加1
      • 构建逆序数c
      • 删除个位数
    • 输出位数g
    • 通过逆序数c再次反转输出正序数字
    • 输出逆序数c

    4. 代码对应:

    • cin>>n; → 读取整数
    • while(n) → 处理每一位数字
    • w=n%10; → 获取个位数字
    • g++; → 统计位数
    • c=c*10+w; → 构建逆序数
    • n/=10; → 删除个位数
    • cout<<g<<endl; → 输出位数
    • while(cc) → 通过逆序数输出正序
    • w=cc%10; cout<<w<<" "; → 输出正序数字(空格分隔)
    • cc/=10; → 删除个位数
    • cout<<endl<<c; → 输出逆序数
    • 1

    信息

    ID
    986
    时间
    1000ms
    内存
    16MiB
    难度
    2
    标签
    (无)
    递交数
    240
    已通过
    148
    上传者