有没有更一般的.
如把20的限界改为一个随机的输入数!
#include<stdio.h>
#define M 40
void main()
{
int a[M];
int i,j,k,r;
int dight=1;
int n;
for(i=0;i<M;i++)
{
a[i]=0;
}
a[1]=1;
printf("请输入你要求解的阶乘的值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<dight+1;j++)
{
a[j]*=i;
}
for(j=1;j<dight+1;j++)
{
if(a[j]>10)
{
if(a[dight]>10)
{
dight++;
}
for(k=1;k<dight+1;k++)
{
a[j+1]+=a[j]/10;
a[j]%=10;
}
}
}
printf("%d!=",i);
for(r=dight;r>0;r--)
{
printf("%d",a[r]);
}
printf("\n");
}
}
发一个能装下很大的数的