计算都没啥问题
#include<iostream>
#include<ctype.h>
using namespace std;
int a[3000],b[3000],c[3000];
void reverse(int *num,int len) {
for(int i = 0; i < len/2; i++) {
int temp = num[i];
num[i] = num[len - 1 - i];
num[len - 1 - i] = temp;
}
return;
}
int main()
{
int temp,len1 = 0,len2 = 0;
char ch;
while(isdigit(ch = getchar())){
a[len1++] = ch - '0';
}
while(isdigit(ch = getchar())){
b[len2++] = ch - '0';
}
reverse(a,len1),reverse(b,len2);
for(int i = 0;i < len2;i++){
int carry = 0;
for(int j = 0;j < len1;j++){
temp = a[j] * b[i] + carry;
carry = temp / 10;
a[j] = temp % 10;
}
while(carry){
a[len1++] = carry % 10;
carry /= 10;
}
}
for(int i = len1 - 1;i >= 0;i--) cout << a[i];
return 0;
}