AcWing 1473. A + B 格式
原题链接
简单
作者:
Wegoon
,
2021-09-01 00:22:11
,
所有人可见
,
阅读 335
知识点:字符串处理、数字拆分、模拟
法1)字符串处理 + 模拟
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 30;
int a, b, ans[N], id;
int main() {
cin >> a >> b;
a += b;
if(a < 0) cout << '-' ;
string s = to_string(abs(a));
for (int i = 0; i < s.size(); i ++ ) {
cout << s[i] ;
if(s[i + 1] && (s.size() - i) % 3 == 1) cout << ',';
}
return 0;
}
法2)数字拆分处理 + 模拟
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 30;
int a, b, ans[N], id;
int main() {
cin >> a >> b;
a += b;
if(a < 0) cout << '-' ;
a = abs(a);
if(!a) cout << 0 << endl;
while (a) {
ans[id ++ ] = a % 10;
a /= 10;
}
for (int i = id - 1; i >= 0; i -- ) {
cout << ans[i];
if(i && i % 3 == 0) cout << ',' ;
}
return 0;
}