Chinaunix首页 | 论坛 | 博客
  • 博客访问: 985007
  • 博文数量: 633
  • 博客积分: 30780
  • 博客等级: 大将
  • 技术积分: 7532
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-12 21:07
文章分类

全部博文(633)

文章存档

2011年(10)

2010年(500)

2009年(47)

2008年(76)

我的朋友

分类:

2008-05-25 02:47:17


我的代码:

#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)来打印最后一位。值得仔细体会。
阅读(400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~