Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).
Input Specification:
Each input file contains one test case. Each case contains a pair of integers a and b where −106≤a,b≤106. The numbers are separated by a space.
Output Specification:
For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.
Sample Input:
-1000000 9
Sample Output:
-999,991
思路:
要输出的就是标志格式的整数,从低位开始,每三个要加“,"号。先判断是否是负数,负号单独处理,0单独处理;然后,直接进行对1000取余保存,后面再反序输出这些数,但要注意第一个逗号前面的不一定是三位,后面的都是三位,用printf格式化输出
注意:
- 注意题目中的三个用逗号分开,是从低位开始的。就是我们常见的整数格式罢了
- 英语能力有待提高,注意抓住关键条件
代码:(C++)
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int a,b;
vector<int> v;
cin>>a>>b;
a = a+b;
if(a<0)
{
cout<<"-";
a = -a;
}
else if(a==0)
{
cout<<"0";
return 0;
}
while(a!=0)
{
v.push_back(a%1000);
a = a/1000;
}
for(int i=v.size()-1; i>=0; i--)
{
if(i==v.size()-1)
cout<<v[i];
else
printf("%03d",v[i]);
if(i!=0)
cout<<",";
}
return 0;
}