代码来源于柳神,发文是为了自己刷题作记录。以下是柳神原文链接:1001. A+B Format (20)-PAT甲级真题
1001题解题思路:将int型变量转变为字符串型,再用if条件分割字符串,达到题目要求的效果。
// PAT_1001_A+B Format.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include<string>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
string s = to_string(a + b);//将变量“a+b”由整数型转化为string型,即字符串。
int len = s.length();
for (int i = 0; i < len; i++)
{
cout << s[i];
if (s[i] == '-')continue;//如果第一个字符是负号,不执行下面的语句,直接进入下一个循环。
if((len - (i + 1))%3==0&&(i+1)!=len)/*当第i+1个字符后面还有3n个字符且第i+1个字符不是
最后一个字符时,插入逗号用于分割*/
{
cout << ",";
}
}
}
//数组下标从零开始,所以s[i]实际上是字符串的第i+1个字符。