还是水题。。。
#include<stdio.h>
#include<string.h>
#define N 800
int main(){
char s1[N], s2[N];
int a[N], b[N], sum[N];
int n, k;
while (scanf("%s%s", s1, s2) != EOF){
int l1 = strlen(s1);
int l2 = strlen(s2);
memset(sum, 0, sizeof(sum));
memset(a , 0, sizeof(a));
memset(b, 0, sizeof(b));
k = 0, n = 0;
for(int i = 0; i < l1; i++)
a[i] = s1[l1 - i - 1] - '0';
for(int i = 0; i < l2; i++)
b[i] = s2[l2 - i - 1] - '0';
for(int i = 0; i < l1; i++){
for(int j = 0, k = i; j < l2; j++)
sum[k++] += a[i] * b[j];
}
for(int i = 0; i < N; i++)
if (sum[i] >= 10){
sum[i + 1] += sum[i] / 10;
sum[i] %= 10;
}
for(int i = N - 1; i >= 0; i--)
if (sum[i] != 0){
n = i;
break;
}
for(int i = n; i >= 0; i--){
if (n == 0){
printf("0");
break;
}
else
printf("%d", sum[i]);
}
printf("\n");
}
return 0;
}