分别用迭代法和递归法计算两个数的阶乘

来源:互联网 发布:淘宝下拉选93es.com 编辑:程序博客网 时间:2024/05/16 04:54
//使用迭代法#include <Stdio.h>int factorial(int x);int main (void){    int n,result;//输入的数据,得到的结果    printf("please input a integer number\n");    scanf("%d",&n);    result=factorial(n);    printf("the result is %d\n",result);    return 0;}int factorial(int x){    int i,temp_result=1;    if(x<0)        printf("您输入的数字有误\n");    else if(x==0||x==1)        return 1;    else        for(i=1;i<=x;i++)            temp_result*=i;    return temp_result;}
//使用递归法#include <Stdio.h>int factorial(int x);int main (void){    int n,result;//输入的数据,得到的结果    printf("please input a integer number\n");    scanf("%d",&n);    result=factorial(n);    printf("the result is %d\n",result);    return 0;}int factorial(int x){    int temp_result;    if(x<0)        printf("您输入的数字有误\n");    else if(x==0||x==1)        return 1;    else        temp_result=x*factorial(x-1);    return temp_result;}


0 0