大数相加:
#include <stdlib.h>
#include <iostream>
#include <string>
#include <typeinfo>
using namespace std;
int main()
{
string str1, str2;
string sum;
int i,j;
cin >> str1 >> str2;
sum = '0' + (str1.length() > str2.length() ? str1 : str2);
str1 = str1.length() > str2.length() ? str2 : str1;
for (i = 0; i < (str1.length() > str2.length() ? str2.length() : str1.length()); i++)
{
int a = (str1[str1.length() - i - 1] - '0') + (sum[sum.length() - i - 1] - '0');
if (a >= 10)
{
sum[sum.length() - i - 2] = char(sum[sum.length() - i - 2] + 1);
}
sum[sum.length() - i - 1] = char(a % 10 + '0');
}
for (j = sum.length() - i - 1; j > 0; j--)
{
if (sum[j] - '0' >= 10)
{
sum[j - 1] = char(sum[j - 1] + 1);
sum[j] = char(sum[j] - 10);
}
}
if (sum[0] == '0')
sum = sum.substr(1, sum.length());
cout << sum << endl;
system("pause");
}
第一次写博客,mark一下