A1001. 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).

Input

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.

Output

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

思路

条件:①-1000000 <= a, b <= 1000000 ②计算a+b ③标准格式输出
刚学python的时候觉得这道题似乎用python更容易解决,后来看了《算法笔记》和柳神的算法也都学了下方法。


python版:主要利用python的format()函数

lst = []
str = input()
# 空格分隔数字
lst = str.split(" ")
sum = (int)(lst[0])+(int)(lst[1])
print("{:,}".format(sum))
C++版:将a+b转化为字符串,利用to_sting()将int->string
#include "iostream"
#include "string"

using namespace std;

int num[10];

int main(){
	int a,b;//输入a,b
	cin>>a>>b;
	int sum=a+b;
	//判断正负
	if(sum<0){
		cout<<"-";
		sum*=-1;//若是负数,输出负号,将sum转换成正数
	}
	string res=to_string(sum);//将结果转成string类型
	int c=0;
	for(int i=res.length()-1;i>=0;i--){
		num[c++]=res[i]-'0';
	}//将结果的字符串从低位开始输入num数组
	for(int i=c-1;i>=0;i--){
		cout<<num[i];
		if(i>0&&i%3==0)cout<<",";
	}
	return 0;
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值