根据大数相加,写出的简单的大数相乘的模板,有待改进中~~~~~~
#include<stdio.h> #include<string.h> const int N = 100; int main() { int i,j,k; int d1,d2; int a[N]={0},b[N]={0},sum[2*N]={0}; char c[N]; // memset(c,'0',sizeof(c)); // memset(a,0,sizeof(a)); // memset(b,0,sizeof(b)); // memset(sum,0,sizeof(sum)); // d1=d2=0; scanf("%s",c); d1=strlen(c); for(i=d1-1,j=0;i>=0;i--) a[j++]=c[i]-'0'; scanf("%s",c); d2=strlen(c); if(d1<d2) d1=d2; for(i=d2-1,j=0;i>=0;i--) b[j++]=c[i]-'0'; for(i=0;i<d1;i++) { for(j=0;j<d1;j++) sum[i+j]+=a[i]*b[j]; } for(i=0;i<=2*d1;i++) { sum[i+1]+=sum[i]/10; sum[i]=sum[i]%10; } k=2*d1; while(sum[k]==0) k--; for(i=k;i>=0;i--) printf("%d",sum[i]); printf("\n"); return 0; }