输入一个大于等于0的整数n,用函数递归调用方式,求出p=n!,并输出p。 用C语言编程。

如题所述

#include <stdio.h>
#include <stdlib.h>

#typedefine Type (long long )

Type fun(Type num)
{
if(num < 0)
return -1;
if(num == 0 || num == 1)
return num;
else
return fun(num - 1) * num;
}

int main()
{
Type n = 0;
printf("Please input the number\n");
scanf("%ld", n);
printf("%ld\n", fun(n)); // -1 means error
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-28
n不能太大,太大会溢出
#include <stdio.h>
#include <stdlib.h>
main()
{int n;
long f(int x);
scanf("%d",&n);
printf("%ld",f(n));
system("PAUSE");
}

long f(int x)
{ if(x==1)return(1);
else return(f(x-1)*x);
}本回答被网友采纳
第2个回答  2010-12-28
#include "math.h"
int f( int );
main()
{ int x;
printf("Enter a integer number:");
scanf("%d",&x);
int y=f(x);
printf("%d is prime\n",y);
}

f(int n)
{
int a=n;
while(a>1){
n=n*(a-1);
a--;
}
return n;
}
试试行不行吧。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网