题目描述:

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).
翻译:计算a+b然后按照标准格式输出——这代表数字必须被分成3个一组,之间用逗号相连(除非少于4个数字)

INPUT FORMAT:

Each input file contains one test case. Each case contains a pair of integers a and b where -1000000 <= a, b <= 1000000. The numbers are separated by a space.
翻译:每个输入文件包括一组测试数据。每组测试数据包括一对整数a和b, -1000000 <= a, b <= 1000000,数字之间用空格分开。

OUTPUT FORMAT:

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.
翻译:对于每组测试数据,你需要在一行内输出a+b的和,和必须用标准格式表示。


Sample Input

-1000000 9


Sample Output

-999,991


解题思路:

将sum保存为数组输出,注意处理正负号。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#define INF 99999999
using namespace std;
int a,b;
int ans[15],ccount=0;
int main(){
  scanf("%d%d",&a,&b);
  int sum=a+b;
  if(sum==0)printf("0\n");
  if(sum<0){
    printf("-");
    sum=-sum;  
  }
  while(sum!=0){
    ans[ccount++]=sum%10;
    sum=sum/10;
  }
  for(int i=ccount-1;i>=0;i--){
    printf("%d",ans[i]);
    if(i!=0&&i%3==0)printf(",");
    if(i==0)printf("\n");  
  } 
  exit(0);
}
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐