例题1,设计一个程序,实现输入1234,逐个输出1 2 3 4
思路:
--如何单个算出1,2,3,4这个数字,想想肯定是与水仙花数有关,利用递归的话,如何循环使用
#include<stdio.h>
void print(int n)
{
if (n > 9)
{
print(n / 10);
}
printf("%d ", n%10);
}
int main()
{
int sum = 0;
scanf_s("%d",&sum);
print(sum);
}
解释一下:
这两者最大的区别在打印那里,一个是输出值,一个是输出模
递归的几点注意与总结:
1,返回的时候返回到原来的地方再进行原处的下一步(以上例子如果我在if后面加了else,那就没有下一步)
2,递归要找到一个条件终止,满足继续,反之停止
3,还有对%,/的理解,在数字里面,它们有些典型功能
比如/---eg:把1234变成123,缩短位数,%---获得长串数字的末位