PAT甲级1001

传送门

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc,char **argv){
	int n,m,sum;
	vector<char> ivec;
	scanf("%d%d",&n,&m);
	sum=n+m;
	string src=std::to_string(sum);
	if(sum<0){
		int len=src.length()-1;
		if(len<=3){
			cout<<src;
			return 0;
		}
		int commas_num;
		if(len>3 && len%3==0)
			commas_num=len/3-1;
		else
			commas_num=len/3;
		for(int j=len,k=0;j>=0;j--){
			ivec.push_back(static_cast<char>(src[j]));
			if(++k%3==0 && commas_num>0){
				ivec.push_back(',');
				commas_num--;
			}
		}
		for(auto it=ivec.rbegin();it!=ivec.rend();it++)
			cout<<*it;
	}
	if(sum>=0){
		int len=src.length();
		if(len<=3){
			cout<<src;
			return 0;
		}
		int commas_num;
		if(len>3 && len%3==0)
			commas_num=len/3-1;
		else
			commas_num=len/3;
		for(int j=len-1,k=0;j>=0;j--){
			ivec.push_back(static_cast<char>(src[j]));
			if(++k%3==0 && commas_num>0){
				ivec.push_back(',');
				commas_num--;
			}
		}
		for(auto it=ivec.rbegin();it!=ivec.rend();it++)
			cout<<*it;
	}
	return 0;
}


你可能感兴趣的:(PAT甲级1001)