【PAT】1001.A+B Format (20)
题目描述: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然后按照标准格式输出——这代表数字...
题目描述:
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);
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)