#include <iostream> #include <stack> #include <string> using namespace std; int main(void){ int a,b,cnt=0; stack<char> sum1; string s1,s2; cin>>s1>>s2; a=stoi(s1); b=stoi(s2); int sum=a+b; if(sum<0){ cout<<‘-‘; sum=-sum; } string sum2=to_string(sum); for(auto r_iter = sum2.crbegin();r_iter != sum2.crend();++r_iter){ if(cnt==3){ sum1.push(‘,‘); cnt=0; } sum1.push(*r_iter); cnt++; } while(!sum1.empty()){ cout<<sum1.top(); sum1.pop(); } return 0; }
PAT之路的第一题。主要利用了C++中string和stack的正序逆序来完成整个算法设计。
原文:http://www.cnblogs.com/mqacm/p/4367522.html