题目:
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
解析:
计算a+b,并将结果以标准形式输出,即每三位用逗号间隔开。
答案:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
int result=a+b;
//题目已给定数据范围,直接加不会溢出
if(result<0)
{
cout<<"-";
result=-result;
}//先考虑是不是负数
else if(result==0)
{
cout<<0;
return 0;
}//0
int i,part[7];
for(i=0;result>0;i++)
{
part[i]=result%10;
result=result/10;
}//将数字按位分开
for(int j=i-1;j>=0;j--)
{
cout<<part[j];
if(j%3==0&&j!=0)
{
cout<<",";
}每三位输出一个逗号,个位之后不要逗号
}
}