C语言之递归函数的使用

来源:互联网 发布:怎么区分是不是淘宝客 编辑:程序博客网 时间:2024/04/30 03:47
<span style="font-size:24px;"><span style="font-size:18px;">void eatAppleChengJie(int n);void eatAppleQianCheng(int n);void eatAppleXiangMing(int n);void eatAppleDuo(int n);void eatAppleXiaoMeng(int n){    //对于递归来说,必须要出口,也就是递归的结束标志,必须要有结束,否则就会形成死循环.    if (n == 0) {        return; //return 后面啥都不写,代表返回值类型为空void.    }    n--; //苹果个数减1 n = 3, //留一个苹果    printf("晓萌吃第%d个苹果\n", 4 - n); //吃了一个苹果 //吃苹果    eatAppleXiaoMeng(n); //找自己吃苹果  //找人    }//void eatAppleChengJie(int n)//{//    if (n == 0) {//        return;//    }//    n--;  //苹果个数减1 n = 2//    eatAppleQianCheng(n); //找前成吃苹果//    printf("成杰吃苹果\n"); //吃了一个苹果//}//void eatAppleQianCheng(int n)//{//    if (n == 0) {//        return;//    }//    n--;  //苹果个数减1 n = 1//    eatAppleXiangMing(n);//    printf("前成吃苹果\n");//}//void eatAppleXiangMing(int n)//{//    if (n == 0) {//        return;//    }//    n--;  //苹果个数减1 n = 0//    eatAppleDuo(n);//    printf("向明吃苹果\n"); //吃了一个苹果//}//void eatAppleDuo(int n)//{//    if (n == 0) {//        return;//    }//    n--;  //苹果个数减1 n = 0//    printf("吃苹果\n"); //吃了一个苹果//}//将一个整数正序输出 以及 逆序输出//例子:54321 正序输出:54321  逆序输出:12345void printNext(int n){    if (n == 0) {        return; //如果没有可挑选的数字,直接返回,递归结束    }    //1.留一个数    int number = n % 10; //保存留下的数    //2.找下一个数    printNext(n / 10);    //3.输出留下的数    printf("%d", number);}void niXu(int n){    if (n == 0) {        return;    }    //1.保留一个数    int number = n % 10;    //2.输出留下的数    printf("%d", number);    //3.找下一个人    niXu(n / 10);}//求阶乘,5!int fac(int n){    //出口    if (n == 1) {        return 1;//如果求1的阶乘直接返回1    }    //1.留一个数    int number = n;    //2.求得n - 1的阶乘    int value = fac(n - 1);    //3.求n的阶乘    return number * value;}

0 0
原创粉丝点击