70,020
社区成员




int _tmain(int argc, _TCHAR* argv[])
{
char ra[10000]={0};
ra[0]='1';
int n;
int j;
int t;
int l;
printf("请输入一个数:");
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
for(l=0;ra[l];l++);
for(j=l-1;j>=0;j--)
{
t=(ra[j]-'0')*i;
ra[j]=t%10+'0';
t=t/10;
for(int jf=1;t;jf++)
{
if(ra[j+jf]==0)
{
ra[j+jf]='0';
}
ra[j+jf]=ra[j+jf]+t%10;
t=t/10;
if(ra[j+jf]>'9')
{
ra[j+jf]-=10;
t++;
}
}
}
}
for(l=0;ra[l];l++);
printf("%d的阶乘有%d位\n",n,l);
for(l=l-1;l>=0;l--)
{
printf("%c",ra[l]);
}
printf("\n");
getchar();
return 0;
}