#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[2][110];
int b[110] = {0},cnt;
int i,j,k;
for (i = 0; i < 2; i++)
{
cin >> a[i];
}
i = strlen(a[0]);
j = strlen(a[1]);
if (i >= j)
{
for (k = 1; k <= j; k++)
{
a[1][i - k] = a[1][j - k];
}
fill(a[1],a[1]+i-j,'0');
for (k = 1; k <= i; k++)
{
b[k] = (int)(a[0][k-1] - '0' + a[1][k-1] - '0');
if (b[k] >= 10)
{
for (int l = k; b[l] >= 10; l--)
{
cnt = b[l] / 10;
b[l] = b[l] % 10;
b[l - 1] = b[l - 1] + cnt;
}
}
}
if (b[0] == 0)
{
for (k = 1; k <= i; k++)
{
cout << b[k];
}
}
else
{
for (k = 0; k <= i; k++)
{
cout << b[k];
}
}
}
else
{
for (k = 1; k <= i; k++)
{
a[0][j - k] = a[0][i - k];
}
fill(a[0],a[0]+j-i,'0');
for (k = 1; k <= j; k++)
{
b[k] = (int)(a[0][k-1] - '0' + a[1][k-1] - '0');
if (b[k] >= 10)
{
for (int l = k;b[l] >= 10; l--)
{
cnt = b[l] / 10;
b[l] = b[l] % 10;
b[l - 1] = b[l - 1] + cnt;
}
}
}
if (b[0] == 0)
{
for (k = 1; k <= j; k++)
{
cout << b[k];
}
}
else
{
for (k = 0; k <= j; k++)
{
cout << b[k];
}
}
}
return 0;
}
如果我就是不想倒序求解
最新推荐文章于 2024-07-09 22:37:42 发布