题目链接:http://bailian.openjudge.cn/practice/2980
#include<stdio.h>
#include<string.h>
void xx(char a[],int x[])
{
int i,k,j;
j=k=strlen(a);
for(i=0;i<k;i++)
x[--j]=a[i]-48;
}
int main()
{
int i,w,j,k,lenx,leny,x[202],y[201],p1[402];
char a[201],b[201];
memset(p1,0,sizeof(p1));
scanf("%s%s",a,b);
xx(a,x);
xx(b,y);
lenx=strlen(a);
leny=strlen(b);
for(i=0;i<leny;i++)
{
w=i;
for(j=0;j<lenx;j++)
p1[w++]+=y[i]*x[j];
}
k=lenx+leny-1;
for(i=0;i<k;i++)
if(p1[i]>=10)
{
p1[i+1]+=p1[i]/10;
p1[i]%=10;
}
if(p1[k]!=0)
for(i=k;i>=0;i--)
printf("%d",p1[i]);
else
for(i=k-1;i>=0;i--)
printf("%d",p1[i]);
printf("\n");
return 0;
}