|
|
#include
#include
using namespace std;
int *multi(int *num1,int size1,int *num2,int size2)
{//返回位数为size1+size2
int size=size1+size2;
int *ret=new int [size];
int i=0;
memset(ret,0,sizeof(int)*size);
for(i=0;i
{
int k=i;
for(int j=0;j
{
ret[k++]+=num2*num1[j];
}
}
for(i=0;i
{
if(ret>=10)
{
ret[i+1]+=ret/10;
ret=ret%10;
}
}
return ret;
}
int main()
{
/*int m,n,num1[100],num2[100];
cout<<"输入第一个数的位数"<
cin>>m;
cout<<"输入第一个数"<
for(int i=0;i
{
cin>>num1;
}
cout<<"输入第二个数位数"<
cin>>n;
cout<<"输入第二个数"<
for(int i=0;i
{
cin>>num2;
} */
int num1[]={3,2};
int num2[]={1,1};
int *ret=multi(num1,2 ,num2,2 );
for(int i=3 ;i>=0;i--)
{
cout<;
}
delete [] ret;//内存释放
cin.get();
return 0;
}
这是那个代码 去上课了 现在才回复 不好意思啊 我试了那两个 是反着的
而且也不太懂 想看看高手的易读些的代码 谢谢 |
|