字符串数字相加
思路
待更
代码实现
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string stradd(string num1, string num2){
int n1, n2, n3, carry;
n1 = num1.size()-1;
n2 = num2.size()-1;
n3 = max(n1, n2);
string res(n3+1, '0');
carry = 0;
for(int i = n1, j = n2, k = n3; i >= 0 || j >= 0; ){
char ch1 = i >= 0 ? num1[i--] : '0';
char ch2 = j >= 0 ? num2[j--] : '0';
char ch3 = carry + ch1 + ch2 - '0';
carry = ch3 > '9' ? 1 : 0;/* 判断是否产生进位 */
res[k--] = ch3 - carry*10;/* 结果字符串赋值 */
}
return carry ? '1'+res : res;
}
2020/08/13 17:56
@luxurylu