我的代码:
#include <stdio.h>
#include <stdlib.h>
void printf_digit(int n)
{
printf("%d ", n);
}
void print_out(int n)
{ /*注意这个递归放置的位置*/
if (n >= 10)
print_out(n/10); /*先打印前面的几位*/
printf_digit(n%10); /*再打印最后一位*/
}
int main (int argc, char* argv[])
{
int n;
scanf("%d", &n);
print_out(n);
return 1;
}
|
这里的递归比较巧妙,先递归调用print_out(n/10),打印出除开最后一位的前面几位,再调用printf_digit(n%10)来打印最后一位。值得仔细体会。
阅读(404) | 评论(0) | 转发(0) |