9.4Add Strings数字处理题目描述给定两个由数组组成的字符串求他们相加的结果输入输出样例Input num1 99, num2 1Output100输出是string类型的整数题解因为相加是先加个位再加十位所以可以先翻转字符串再逐位计算。主要考细节如进位、位数差等#include iostream #include string using namespace std; string addStrings(string num1, string num2) { string output(); reverse(num1.begin(), num1.end());//反转字符串 reverse(num2.begin(), num2.end()); int onelen num1.length(), twolen num2.length(); if (onelen twolen) { swap(num1, num2);//交换两个变量的内容 swap(onelen, twolen); } int addbit 0; for (int i 0; i twolen; i) { int cur_sum (num1[i] - 0) (num2[i] - 0) addbit; output to_string((cur_sum) % 10); addbit cur_sum 10 ? 0 : 1; } for (int i twolen; i onelen; i) { int cur_sum (num1[i] - 0) addbit; output to_string((cur_sum) % 10); addbit cur_sum 10 ? 0 : 1; } if (addbit) { output 1; } reverse(output.begin(), output.end()); return output; } int main() { string num1 99, num2 1; cout addStrings(num1, num2) endl; return 0; }