本文章纯粹为储存半成品代码.有兴趣的朋友也可以为我提提意见.
#include<stdio.h>
#include<string.h>
void ride(int a[2000],int b[2000],int aini,int bini)
{
int carr=0,abini=aini,key;
int ab[2000],n=aini,num,m;
ab[abini+1]=-1;
m=bini;
for(num=0;num<=abini;num++)ab[num]=0;
while(m>=1000)
{
for(n=aini;n>=1000;n--)
{
ab[abini]+=(a[n]*b[m]+carr)%10;
carr=(a[n]*b[m]+carr)/10;
abini--;
}
ab[abini]+=carr;
carr=0;
m--;
abini=aini-(bini-m);
}
while(ab[aini]!=0)
{
if(ab[aini]>9){ab[aini-1]+=ab[aini]/10;ab[aini]=ab[aini]%10;}
aini--;
}
key=0;
for(num=0;ab[num]!=-1;num++)if(ab[num]>0||key==1){printf("%d",ab[num]);key=1;}
}
int main()
{
char cin;
int num=1000,anum,bnum,n,a[2000],b[2000];
for(n=0;n<=999;n++)
{
a[n]=0;
b[n]=0;
}
scanf("%c",&cin);
do{
a[num++]=cin-48;
scanf("%c",&cin);
}while(cin!=' ');
a[num]=-1;
anum=num;
scanf("%c",&cin);
num=1000;
do{
b[num++]=cin-48;
scanf("%c",&cin);
}while(cin!='\n');
b[num]=-1;
bnum=num;
ride(a,b,anum-1,bnum-1);
return 0;
}