1001 A+B Format (20 分)
本道题需要了解的预备知识:string头文件使用方法
中文翻译:(原题目为英文)
计算a+b并以标准格式输出,即:每三位加一个 “,” 的格式输出(若少于四个数字则直接输出)。
输入格式:
每个输入文件包含一个测试用例。每个用例包含一对整数a和b,其中(-10^6 ≤ a,b ≤ 10^6),数字之间用空格分割。
输出格式:
对于每个测试用例,你需要按照格式要求在一行中输出a+b的计算结果。
输入样例:
-1000000 9
输出样例:
-999,991
题目解析:
字符串处理题,较为简单,有两种解题思路,无非都是向字符串中添加逗号输出。如果没思考过的话,先去思考再继续往下看!
首先是柳神的方法,我觉得一般人在考场上都想不出来这么”神奇“的表达式,短短几行代码一边判断一边输(不愧是柳神)。普通人(我)大概率想到的都是:”先加逗号,再输出"的形式。但是正向不好判断逗号的位置,所以从后向前看,每三个数字添加一个逗号,并且需要注意边界情况(第一位数字)。
整体思路如下:
- a+b的结果可能为正数也可能为负数,符号会干扰我们对计算结果的处理(添加逗号)。所以需要在最开始先进行符号处理(判断字符串的第一位字符:若为 “-” 输出负号并删除字符串中的负号,若为数字说明是正数,不需要处理)。
- 字符串从后向前遍历,每三个数字在该数字位上(前)添加一个逗号。

- 注意边界处理,如果出现以下情况,则不可在首位数字前添加逗号。即条件为:当前位不是字符串的第一位(0号位 )且当前位数刚好为三的倍数。

- 处理完成后直接输出,没什么好说的,直接上代码。
#include <iostream>
using namespace std;

本文讲解如何使用C++处理字符串,实现输入两个整数a和b,以每三位加一个逗号的标准格式输出它们的和。涉及符号处理、字符串遍历和边界条件判断。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



