递归与while循环实现求n!

来源:互联网 发布:黑魂3人物捏脸数据 编辑:程序博客网 时间:2024/05/22 06:05
#include<stdio.h>#include<stdlib.h>//递归实现 int diGui(int n){if(n<=0){return 1;}else{return n*diGui(n-1);}} int diGui2(int n){return n>0?n*diGui(n-1):1;}//非递归,while循环实现 int While(int n){int sum = 1;while(n){sum = sum*n;n--;}return sum;}//for循环 int For(int n){    int sum = 1;    for(int i=1;i<=n;i++)    {        sum = sum*i;    }    return sum;} //递归与非递归求一个数的阶乘 int main(){int n;scanf("%d",&n);printf("递归实现%d!=%d\n",n,diGui(n));printf("递归与三木运算符实现%d!=%d\n",n,diGui2(n));printf("while实现%d!=%d\n",n,While(n));        printf("for循环实现%d!=%d\n",n,For(n)); return 0; }

0 0