代码:
#include <iostream>
#include <cstring>
using namespace std;
short a[105], b[105], c[210];
char sa[105], sb[105];
int la, lb, lc;
int main() {
cin >> sa >> sb;
la = strlen(sa);
lb = strlen(sb);
for (int i = 0; i < la; ++i)
a[la - i] = sa[i] - '0';
for (int i = 0; i < lb; ++i)
b[lb - i] = sb[i] - '0';
for (int i = 1; i <= la; ++i) {
int jw = 0; //代表进位
for (int j = 1; j <= lb; ++j) {
c[i + j - 1] = c[i + j - 1] + jw + a[i] * b[j]; //对应位相乘
jw = c[i + j - 1] / 10; //处理进位
c[i + j - 1] %= 10;
}
c[i + lb] = jw;
}
lc = la + lb;
while (c[lc] == 0 && lc > 1)
lc--; //删除前导0
for (int i = lc; i >= 1; --i)
cout << c[i];
return 0;
}
有红有紫也有绿