用递归的方法,顺序打印数字

#include <stdio.h>

void print1(int num);


//思路:先写逻辑,将大问题层层转化成规模较小的问题,满足限制条件就停止,我们可以用取余和整除的方法进行编写(具体看代码)
int main()
{
    int num = 0;
    scanf("%d",&num);
    print1(num); //递归调用
    return 0;
}

void print1(int num)
{
    //比如:123 。
    //脱衣服第一层调用123对10取整得12。
    //脱衣服第二层12对10取整得1。
    //脱没了因num为1,则(num > 9)不成立,执行printf(),打印1
    //穿衣服,将脱衣服的第二层得print()执行完后,此时,num = 12执行printf(),打印num%10得 2
    //穿衣服,将脱衣服的第一层得print()执行完后,此时,num = 123执行printf(),打印num%10 得 3
    if(num > 9)
    {
        print1(num/10);
    }
    printf("%d ",num %10);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值