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

2025-03-09 学习记录--C/C++-PTA 习题10-8 递归实现顺序输出整数

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

在这里插入图片描述

裁判测试程序样例:

#include <stdio.h>

void printdigits( int n );

int main()
{
    int n;
    
    scanf("%d", &n);
    printdigits(n);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例

12345

输出样例

1
2
3
4
5

二、代码(C语言)⭐️

void printdigits(int n) {
    if (n >= 10) {            // 如果 n 大于等于 10,说明还有更高位的数字需要处理
        printdigits(n / 10);  // 递归调用,处理更高位的数字
    }
    printf("%d\n", n % 10);  // 输出当前最低位的数字
}

(一)、代码功能总结:🦋

  • 1、输入:一个整数 n

  • 2、输出:逐行输出 n 的每一位数字,从最高位到最低位。

  • 3、实现逻辑

    • 通过递归调用 printdigits(n / 10),先处理更高位的数字。

    • 递归结束后,输出当前最低位的数字(n % 10)。

    • 递归的终止条件是 n < 10,此时直接输出当前数字。

(二)、递归过程:🦋

  • 1、printdigits(12345) 调用 printdigits(1234)

  • 2、printdigits(1234) 调用 printdigits(123)

  • 3、printdigits(123) 调用 printdigits(12)

  • 4、printdigits(12) 调用 printdigits(1)

  • 5、printdigits(1) 满足终止条件,输出 1

  • 6、递归返回,依次输出 2345

在这里插入图片描述
在这里插入图片描述


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

相关文章:

  • 一行代码让手机秒变 AI 神器:DeepSeek 手机离线部署
  • 每日一题——三道链表简单题:回文,环形合并有序
  • 大规模语言模型的涌现能力
  • 跟着 Lua 5.1 官方参考文档学习 Lua (10)
  • 智慧城市新基建:AI代理IP如何让城市管理“耳聪目明”?
  • 【07】区块链性能
  • 字符串相乘——力扣
  • vue如何获取session对象
  • docker已创建容器设置自启动
  • PY32MD320单片机 QFN32封装,内置多功能三相 NN 型预驱。
  • 记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)
  • Vue3实战学习(Vue3集成Element-Plus(常用依赖、插件安装与导入 。按钮、图标组件。自定义主题的实现)(超详细))(4)
  • 开源网站模板 html静态网页模板
  • 如是APP:AI精准匹配需求,信用体系重构信任,双轮驱动打造无套路电商
  • (C/S)架构、(B/S)架构
  • HCIP复习拓扑练习
  • Unity UGUI下实现精确点击的一种方式
  • 自然语言处理:高斯混合模型
  • 配置nacos
  • Maven 中 SNAPSHOT 版本与 RELEASE 版本的区别