描述:
题目描述:请设计一个算法完成两个超长正整数的加法。 要求实现函数: void AddLongInteger(char * pcAddend, char * pcAugend, char * pcAddResult); 输入参数: char * pcAddend:加数 char * pcAugend:被加数 char * pcAddResult:加法结果 返回值:无 运行时间限制: 1 Sec 内存限制: 128 MByte 输入: 两个超长正整数的字符串 输出: 相加后结果的字符串 样例输入: 123456789123456789 123456789123456789 样例输出: 246913578246913578
测试不通过,发出来看看问题在哪里。
//// 超长正整数相加.cpp// temptest//// Created by 彭威 on 15/8/1.// Copyright © 2015年 biophy.nju.edu.cn. All rights reserved.//#include#include #include using namespace std;class BigNumber { string num; bool reverse_flg; public: BigNumber(char *str):num(str){} BigNumber(){}; friend istream& operator>>(istream& in,BigNumber& p){ in>>p.num; return in; } friend ostream& operator<<(ostream& out,const BigNumber& p){ if (p.reverse_flg) { //for (auto iter = p.num.rbegin(); iter != p.num.rend(); iter++) { //only for c++11 for (string::const_iterator iter = p.num.end()-1;iter >= p.num.begin();--iter ){ out<<*iter; } }else{ out< = num.length()) { return '0'; } if (reverse_flg) { return num[n]; }else{ return num[num.length()-n-1]; } }};int main(int argc,const char* argv[]){ BigNumber a,b; cin>>a>>b; cout< <