too short on line 1? 第一个样例过不了
#include<stdc++.h>
using namespace std;
int main()
{
//定义两个字符串,输入
string a, b;
cin >> a >> b;
int lena, lenb = 0;
lena = a.length();
lenb = b.length();
//逆序存放数字
int arra[9999] = { 0 };
int arrb[9999] = { 0 };
for (int i = 1; i <= lena; i++)
{
arra[i] = a[lena - i] - '0';
}
for (int i = 1; i <= lenb; i++)
{
arrb[i] = b[lenb - i] - '0';
}
//定义结果数组,错位相加
int c[99999] = { 0 };
for (int j = 1; j <= lenb; j++)
{
for (int i = 1; i <= lena; i++)
{
c[i + j - 1] += arra[i] * arrb[j];
}
}
//处理进位问题
for (int i = 1; i <= lena + lenb - 1; i++)
{
if (c[i] > 9)
{
c[i + 1] += c[i] / 10;
c[i] %= 10;
}
}
//删除c中多余的0
int lenc = lena + lenb;
while (c[lenc] == 0 && lenc > 1)
{
lenc--;
}
//按照lenc输出
for (int i = lenc; i >= 1; i--)
{
cout << c[i];
}
return 0;
}