有了前面的基础,这个乘法就是小意思
#include<stdio.h>
#include<string.h>
int main()
{
char ch[1],s1[100],s2[100];
int a[100]={0},b[100]={0},c[100]={0};
int t1,t2,t,i,j,d;
gets(s1);
gets(s2);
t1=strlen(s1);
t2=strlen(s2);
for (i=1;i<=t1;i++)
a[i]=(int)s1[t1-i]-48;
for (i=1;i<=t2;i++)
b[i]=(int)s2[t2-i]-48;
for (i=1;i<=t2;i++)
{
d=0;
for (j=1;j<=t1;j++)
{
c[i+j-1]=c[i+j-1]+a[j]*b[i]+d;
d=c[i+j-1]/10; //控制进位
c[i+j-1]=c[i+j-1]%10; //控制该位置上的数字
}
c[i+j-1]+=d; //下一次进位
}
t=t1+t2;
while (c[t]==0 && t>1) t--;
for (i=t;i>=1;i--) printf("%d",c[i]);
return 0;
}