【C 练习】分开打印一个数的每一位数字

例:输入1234,输出1 2 3 4

我们可以通过下面这种方法得到每一位。

int num = 0;
	scanf("%d", &num);
	while (num>9)//当数字大于9就不进入循环,直接在最后打印
	{
		printf("%d ", num % 10);//取到最后一位
		num /= 10; //消去最后一位
	}
	printf("%d", num);//打印剩下的数字
	return 0;

按照这种方法的话我们只能逆着取到每一位,要想顺着取到,只能使用递归。

递归实现

void print(int num)
{
	if (num > 9)
		print(num / 10);
	printf("%d ", num % 10);

}

int main()
{
	int num = 0;
	scanf("%d", &num);
	print(num);
	return 0;
}

 

递归使用条件

要有一个停止调用的条件

每次调用之后都会越来越接近这个条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值