int a[101], b[101], c[202];
int mul(int l1, int l2, int a1[101], int a2[101], int c[202])
{
int i, j;
int y;//进位
int x;//乘积
int z;//余数
int w;//乘积结果保存位置
memset((void *)&c[0], 0, sizeof(int));
for(i = 0; i < 101; i++){
for(j = 0; j < 101; j++){
x = a1[i] * a2[j];
z = x % 10;
y = x/10;
w = i + j;
c[w] += z;
c[w+1] += y + c[w]/10;
c[w] %= 10;
}
}
w = l1 + l2;
if(c[w-1] == 0){
w--;
}
return w;
}