0
点赞
收藏
分享

微信扫一扫

PAT甲级习题1001 A+B Format [19/20]

天悦哥 2022-03-26 阅读 58
c++

PAT甲级习题1001 A+B Format [19/20]

题目

代码

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

int main(){
	//input
	int a, b, sum, flag = 0;	//flag indicates the sign
	cin >> a >> b;
	sum = a + b;
	if(sum <  0)
		flag = -1;
	string result = to_string(sum);
	int len = (result.length() + flag) % 3 -flag; //substring before first commas
	int times = (result.length() + flag) / 3; //nums of printed array
	//print
	for(int i = 0 ; i < len; i++)
		cout << result[i];
	for(int i = 0; i < times; i++){
		if(flag == -1 && len == 1 && i == 0)
			cout << result.substr(len, 3);
		else
			cout << "," << result.substr(3*i+len, 3);
	}
	return 0;
}

得分

19/20
在这里插入图片描述
有一个测试用例没有通过,但是想不明白为什么
在这里插入图片描述

想法

  1. 在测试过程中注意累计容易出错的测试用例,不要想起一个测试一个;
  2. 要对STL更加熟悉,如本次使用的:to_string(), substr()。
  3. 第一道PTA练习,不是很熟练,希望能再接再厉;
  4. 感觉代码写的不够简洁,要写的更好些。
举报

相关推荐

0 条评论