高精度乘法

转自:http://blog.csdn.net/cnyali/article/details/43447755

程序:

#include<stdio.h>  
#include<stdlib.h>  
#include<string.h>  
  
int a[1000],b[1000],c[2000];  
char s[1000];  
int main(){  
    int i,j,k,m,n;  
    int alen,blen,clen;  
    gets(s);  
    alen=strlen(s);   
    for(i=alen-1;i>=0;i--)  
        a[alen-i]=s[i]-'0';  
    gets(s);  
    blen=strlen(s);   
    for(i=blen-1;i>=0;i--)  
        b[blen-i]=s[i]-'0';       
      
    for(i=1;i<=alen;i++)  
        for(j=1;j<=blen;j++)  
            c[i+j-1]+=a[i]*b[j];  
              
    for(i=1;i<alen+blen-1;i++)  
        if(c[i]>=10){  
            c[i+1]+=c[i]/10;  
            c[i]%=10;  
        }  
    for(i=alen+blen-1;i>=1;i--)  
        printf("%d",c[i]);  
    puts("");  
    return 0;  
}  


原文地址:https://www.cnblogs.com/gavanwanggw/p/7111652.html