C 递归

来源:互联网 发布:微信小程序域名未备案 编辑:程序博客网 时间:2024/04/30 00:40

逛博客  找到一个牛人的博客  很犀利  里面正好有关于C语言的  我就根据练习练习  正愁没参考的程序

把程序练习后  保存一份在自己的博客里  这属于转载了吧  

他的博客地址:http://blog.chinaunix.net/uid/24219701/frmd/15655/page/1.html    C部分的  大家可以去看看


下面是两个递归的练习:


#include <stdlib.h>#include <stdio.h>void fun(int);                    /* 函数声明 */int main(){  int x = 1;  fun(x);                     /* 函数调用 */  return 0;}void fun(int i)                     /* 函数定义 */{  if(i > 5)  {    printf("Done!\n");    return;                    /* 如果没有该语句,程序将进入死循环 */  }  printf("%d\n", i);  fun(++i);                     /* 函数递归 */  return;}


#include <stdlib.h>#include <stdio.h>int func(int);                    /* 函数声明 */int main(){  int n,y;  printf("Input n (>0) : ");  scanf("%d", &n);                 /* 输入正整数n */  if(n <= 0)  {    printf("Error!\n");  }  else  {    y = fun(n);                 /* 函数调用 */    printf("%d! = %d \n", n, y);        /* 输出运算结果 */  }  return 0;}int fun(int n)                     /* 函数定义 */{  int t;  if(1 == n)                    /* 递归结束条件 */  {    return 1;  }  else  {    t = n*fun(n-1);                /* 函数递归调用 */    return t;  }}