此题的解决思路为:使用函数的递归调用来实现。
例如:我们要打印1234的每一位,我们可以将此问题化小,定义一个print函数。
第一步在print函数里打印123 + 4,第二步打印12 + 3 + 4,第三步打印1 + 2 + 3 + 4,不断的递归调用,直到这个数不在大于9。
并且利用if函数判断,若大于9则将1234除以10,并继续调用print函数。
注:在使用函数递归调用时需要注意
①要存在限制条件
②每一次递归都要越来越接近这个限制条件
具体代码如下:
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
int print(int n)
{
if (n > 9)
{
print(n / 10);
}
printf("%d ", n % 10);
}
int main()
{
int n = 1234;
print(n);
system("pause");
return 0;
}