输入: 输出:
22222222222222222222 55555555555555555555
33333333333333333333
首先是存入:
string stra, strb;
cin >> stra >> strb;
for (int i = 0; i < stra.length(); i++)
{
a[i] = stra[stra.length() - i - 1] - '0';
}
for (int i = 0; i < strb.length(); i++)
{
b[i] = strb[strb.length() - i - 1] - '0';
}
int j;
也是肥肠简单
然后是运算最后
int len = stra.length() > strb.length() ? stra.length() : strb.length();
for (j = 0; j < len; j++)
{
c[j] += a[j] + b[j];
c[j + 1] = c[j] / 10;
c[j] = c[j] % 10;
}
while (c[j] == 0 && j > 0)
{
j--;
}
最后是输出
下面是完整代码
#include<iostream>
#include<algorithm>
#include<string>
#include<stdio.h>
using namespace std;
int a[501], b[501], c[501] = { 0 };
int main() {
string stra, strb;
cin >> stra >> strb;
for (int i = 0; i < stra.length(); i++)
{
a[i] = stra[stra.length() - i - 1] - '0';
}
for (int i = 0; i < strb.length(); i++)
{
b[i] = strb[strb.length() - i - 1] - '0';
}
int j;
int len = stra.length() > strb.length() ? stra.length() : strb.length();
for (j = 0; j < len; j++)
{
c[j] += a[j] + b[j];
c[j + 1] = c[j] / 10;
c[j] = c[j] % 10;
}
while (c[j] == 0 && j > 0)
{
j--;
}
for (int i = j; i >= 0; i--)
{
cout << c[i];
}
return 0;
}
对了有没有玩塞尔达传说的