PAT (Advanced Level) Practice 1001 A+B Format (20分)

PAT (Advanced Level) Practice 1001 A+B Format (20分)

1、试题描述:

在这里插入图片描述

2、试题解答:

#include <iostream>
#include <string>
using namespace std;
int main()
{
	int a, b;
	cin >> a;
	cin >> b;
	int sum = a + b;
	if (sum < 0){
		printf("-");
		sum = -sum;
	}
	string str = to_string(sum);
	for (int i = 0; i < str.size(); i++)
	{
		cout << str[i];
		
		// The only difficulty lies in this judgment conduction
		// (i + 1) % 3 == str.size() % 3 to add ","
		// i != str.size() - 1 To avoid output "," at the end.
		if ((i + 1) % 3 == str.size() % 3 && i != str.size() - 1)
		{
			cout << ",";
		}
	}
	cout << "" << endl;
	system("pause");
	return 0;
}

3、积累

一直用Java, 很少使用C++来做这种题目。

  1. string str = to_string(sum);
    使用的头文件是 , 然后可以使用 str[index]的方式进行元素访问。

  2. (i + 1) % 3 == str.size() % 3;
    这个判断条件有点意思。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值