PAT1001 A+B Format

在一行中输入整数 a 和 b,用空格隔开( -1000000 <= a, b <= 1000000 )

输出a+b的值,用千分位格式输出


Sample Input

-1000000 9


Sample Output

-999,991

 

python版本代码如下

 

 

 

import re
import sys

def fun(num):
    if num >= 1000:
        fun(num/1000)
        sys.stdout.write(",%03d" % (num%1000))
    else:
        sys.stdout.write(num)

def test():
    str = raw_input() 
    s =  re.split(" ",str) 
    sum = int(s[0]) + int(s[1])
    if sum < 0:
        sys.stdout.write("-")
        sum = sum * (-1)
    fun(sum)
   
if __name__ == '__main__':
    test()
 

 

 

import re
import sys
str = raw_input() 
s =  re.split(" ",str) 
sum = int(s[0]) + int(s[1])
if sum < 0:
    sys.stdout.write("-")
    sum = sum * (-1)
str = repr(sum)
mod = len(str)%3
num = len(str)/3

if mod > 0:
    if num == 0:
        sys.stdout.write(str[0:mod])
        sys.exit()
    else:
        sys.stdout.write(str[0:mod])
        sys.stdout.write(",")

for i in range(num -1):
    sys.stdout.write(str[mod + 3*i: mod + 3*i + 3])
    sys.stdout.write(",")
sys.stdout.write(str[mod + 3*(num-1): mod + 3*num])
 

 

C++版本代码如下

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
	int a, b;
	cin>>a>>b;
	int sum = a + b;
	if (sum < 0)
	{
		cout<<"-";
	}
	sum = abs(sum);
	stringstream strStream;
	strStream<<sum;
	string s = strStream.str();
	int mod = s.length()%3;
	int num = s.length()/3;
	if (mod > 0)
	{
		if (num == 0)
		{
			cout<<s.substr(0,mod);
			return 0;
		}
		else
		{
			cout<<s.substr(0,mod)<<",";
		}
	}
	for(int i = 0; i < num - 1; i++)
	{
		cout<<s.substr(mod + 3*i, 3)<<",";
	}
	cout<<s.substr(mod + 3*(num-1),3);

	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值