C语言大整数的四则运算

大整数的四则运算
大整数指超过十位的十进制整数,这里为简便,假定不超过100位。这类大整数在C语言系统中因超界溢出,是不能直接表达和计算的。可以用数组来表示大整数,在此基础上编写出实现大整数加、乘的程序。利用你的程序,计算如100!的准确数值。

#include<stdio.h>
int mul(int a[],int k)
{int i,t=0;
 for(i=1;i<=a[0];i++)
   {a[i]=k*a[i]+t;
    t=a[i]/10;
    a[i]%=10;
   }
 for(i=a[0];t;)  
 {a[++a[0]]=t%10;
  t/=10;
 }
}
int main()
{int i,n,a[102]={1,1};
 scanf("%d",&n);
 printf("%d!=",n);
 for(i=2;i<=n;i++)
   mul(a,i);
 for(i=a[0];i>0;i--)
   printf("%d",a[i]);  
  return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答