一、添加逗号
题目解析
这道题给定一个很大的数 N,要求每三位加一个逗号。由于数值很大,建议使用 long long 类型或字符串处理。
算法思路
方法一:数值取模法 从个位开始一位一位取出数字,每取 3 位加上逗号,存入字符串中。操作完成后去除尾部多余的逗号,最后将字符串逆序输出。
方法二:字符串遍历法
直接按字符串输入,从前向后遍历。观察规律可知,当下标满足 (n - i - 1) % 3 == 0 且不是最后一位时,在字符后添加逗号。
代码实现
方法一:
#include <iostream>
#include <string>
using namespace std;
int main() {
long long n;
cin >> n;
long long x = n;
string str;
int i = 0;
while (x) {
str += (x % 10 + '0');
i++;
if (i % 3 == 0) str += ',';
x /= 10;
}
while (str.size() > 1 && str.back() == ',') str.pop_back();
string ret;
for (int i = str.size() - 1; i >= 0; i--) {
ret.push_back(str[i]);
}
cout << ret << endl;
return 0;
}
方法二:


