http://yinzhezq.blog.163.com/blog/static/1648628902011231382332/ 参看博文,个人按照乘法的计算办法,即按位相乘、错位相加的办法,批改算法如下: #include #include using namespace std; void MUL_max(string a,int la,string b,i http://www.powerkp.info/linked/20130314.do nt lb,int **c);//相乘函数 void ADD_max(int *d,int **c,int la,int lb);//相加函数 void main() { string a; string b; int **c=NULL; int *d=NULL; int *temp=NULL; int la=0,lb=0; int i=0,j=0,k=0; int tenth1=0,tenth2=0,mul=0; cout<<" ************ 大整数乘法 **************"<>a; cout<<"请输入被乘数:"; cin>>b; la=a.length(); lb=b.length(); // 分配 2维 C数组 ,存储a和 b的乘积 c=new int*[la]; for(k=0;k=0;i--) { for(int t=0;t=0;j--) { mul=(a[i]-48)*(b[j]-48) tenth1; tenth1=mul/10; temp[j 1]=mul; cout<=0;j--) { d[i j 1] =temp[j] tenth2; tenth2=d[i j 1]/10; d[i j 1]=d[i j 1]; cout<<"d[i j 1]="<