谁能解释下???
c4droid吧
全部回复
仅看楼主
level 7
#include<stdio.h>
int factorial(int n)
{
int result;
if(n<0)
{
printf("输入错误!\n");
return 0;
}
else if(n==0||n==1)
{
result=1;
}
else
{
result=factorial(n-1)*n;
}
return result;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d的阶乘=%d",n,factorial(n));
return 0;
}
这个代码用c4droid计算,输入的数字有点大比如30 40 50的为啥计算不了,或者是计算错误的?[疑问]
2016年10月26日 16点10分 1
level 7
求帮忙解释[乖][乖]
2016年10月26日 16点10分 2
level 12
#include<stdio.h>
unsigned long long factorial(long long n)
{
unsigned long long result;
if(n<0)
{
printf("输入错误!\n");
return 0;
}
else if(n==0||n==1)
{
result=1;
}
else
{
result=factorial(n-1)*n;
}
return result;
}
int main()
{
unsigned long long n;
scanf("%lu",&n);
printf("%lu的阶乘=%lu",n,factorial(n));
return 0;
}
你定义的数据类型太小了,看上面代码!
2016年10月26日 16点10分 3
level 8
用long int
2016年10月26日 16点10分 4
1