#include <iostream>
#include <string>
using namespace std;
int main() {
string N;
cin >> N;
int len = N.length();
for (int i = 0; i < len; i++) {
cout << N[i];
if ((len - (i + 1)) % 3 == 0 && i + 1 != len) {
cout << ",";
}
}
}
C++风味的解决方案
第一点要注意的是取模运算(%)的优先级要高于加减运算,所以我一开始忘加上括号就错误了。
第二点是核心思路:(总长度-目前第几位)如果是3的倍数的话,就加上逗号,但是要小心的是,最后一位无论如何不能加上逗号,于是就用and(&&)来过特判。

京公网安备 11010502036488号