大一下期末考试:大数存储 阶乘50!
#include <stdio.h>
#define N 100
int main()
{
int a[N]={1};
int n,digit=1,carry,temp,i,j;
printf("Please input the number:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=1,carry=0;j<=digit;j++)
{
temp=a[j-1]*i+carry;
a[j-1]=temp%10;
carry=temp/10;
}
while(carry)
{
digit++;
a[digit-1]=carry%10;
carry=carry/10;
}
}
printf("%d! = ",n);
for(i=digit;i>0;i--)
{
printf("%d",a[i-1]);
}
}
洛水成诗