第三十四题→接收一个整型值(无符号形式),按照顺序打印出每一位。例如:1234,输出 1 2 3 4(递归的形式)

111 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第15天,点击查看活动详情

🚀write in front🚀

🔎大家好,我是泽奀,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🖊

前言

Hello,各位小伙伴们今天就由泽奀来带大家刷第三十四题的练习,赶紧打开你的编译器快点来刷题吧。

题目描述

接收一个整型值(无符号形式),按照顺序打印出每一位。例如:1234,输出 1 2 3 4(递归的形式)

题目分析

本道题目最关键的点实际上就是递归!那么首先我们要清楚递归它是个什么玩意。 概述:一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。

执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。 那么递归它也是具有限制条件的,不然它就会造成死递归,这个就相当于死循环一样。 存在限制条件,当满足这个限制条件之后的时候,递归便会不再继续。 每次递归调用之后都会越来越接近这个限制条件。 

其实每个人对递归的理解都是有不同的,这种最终还是需要你去多多练习相对应题目才行。

题目代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void print(unsigned int number)
{
	if (number > 9)               //限制条件
	{
		print(number / 10);       //调用这个函数,直到表达式为假执行下面语句,1234 123 12 1
	}
	printf("%d ", number % 10);
}
int main(void)
{
	unsigned int number = 0;
	printf("请输入数字:");
	scanf("%u", &number);

	print(number);

	return 0;
}

运行结果

🖊可能运行结果

请输入数字:1234

1 2 3 4

最后

多熟悉递归,多练习相关的题目题集递归也并不难,多去调试多练习代码递归实际上真的不难,当然我指的是一些比较基础的递归(doge),有些难的递归那是真的难看了真心头大