int n;
int r[600]={0};
int count(n)
{
int i;
for(i=0;i<600;i++)
r[i]*=n;
for(i=599;i>0;i--)
{
r[i-1]=r[i-1]+r[i]/10;
r[i]=r[i]%10;
}
}
int main()
{
int i;
int reach=0;
r[599]=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
count(i);
for(i=0;i<600;i++)
{if(r[i]) reach=1;
if(r[i]||reach) printf("%d",r[i]);
}
getchar();
getchar();
}
这个程序输入数,可以计算出它的阶乘。TURBO C 调试通过。
#include
void main(){
double res=1.0;
int i;
int n;
scanf("%d",&n);
for(i=1;i<=n;i++){
res*=i;
}
printf("result=%lf",res);
}
利用for循环求出第n项阶乘。
就算你设long也装不下的.100的阶乘太大了.你可以试试设double.
#include
void main()
{
int i;
int sum=1;
for(i=1;i<=100;i++)
{
sum=sum*i;
}
printf("%d",sum);
}
#include
void
main(){
double
res=1.0;
int
i;
int
n;
scanf("%d",&n);
for(i=1;i<=n;i++){
res*=i;
}
printf("result=%lf",res);
}
利用for循环求出第n项阶乘。