高精度乘法
#include<stdio.h>
#include<string.h>
int a[500],b[500],c[501],lena,lenb,lenc,i,j,x,k;
void mult(char *a1,char *b1){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
lena=strlen(a1);
lenb=strlen(b1);
for(i=0;i<lena;i++){
a[i]=a1[lena-i-1]-48;
}
for(i=0;i<lenb;i++){
b[i]=b1[lenb-i-1]-48;
}
for(j=0;j<lenb;j++){
x=0;
for(i=0;i<=lena;i++){
c[j+i]=c[j+i]+x+a[i]*b[j];
x=c[j+i]/10;
c[j+i]=c[j+i]%10;
}
}
k=i+j-2;
if(c[i+j-2]==0){
k=k-1;
}
for(k;k>=0;k--){
printf("%d",c[k]);
}
}
int main(){
char a1[500],b1[500],t;
scanf("%s%d",a1,&t);
mult(a1,b1);
}