#include<iostream>
#include<string.h>
usingnamespace std;
void ma(char*,char*);
char a[1200],b[1200];
int c[2300];
int main(void)
{
while(cin>>a>>b)
{
for(int i=0;i<2300;i++) c[i]=0;
ma(a,b);
}
return0;
}
void ma(char*x,char*y)
{
int m,n,i,j,k,temp=0;
char a[1200],b[1200];
m=strlen(x);
n=strlen(y);
for(i=0;i<m;i++)
{
a[i]=x[m-i-1];
}
a[m]='\0';
for(i=0;i<n;i++)
{
b[i]=y[n-1-i];
}
for(i=m-1;i>=0;i--)
{
if(a[i]!='0')break;
temp++;
}
for(i=n-1;i>=0;i--)
{
if(b[i]!='0')break;
temp++;
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
c[i+j]+=(a[i]-48)*(b[j]-48);
}
for(k=0;k<n;k++)
{
if(c[k+i]>=10){c[k+i+1]+=c[k+i]/10;c[k+i]%=10;}
}
}
for(i=2100;i>=0;i--)
{
if(c[i]!=0)break;
}
for(;i>=0;i--) cout<<c[i];
for(i=0;i<temp;i++) cout<<0;
cout<<endl;
}
我是用C++寫的,希望妳能看懂,另外將數組元素初始化時盡量自己寫代碼吧,盡量不用函數初始化,這個也有可能因編譯器差異而出現問題