【PTA甲級、C++簡單解答】1001 A+B Format (20分)
關鍵是求得第一個逗號應該出現的索引位置,下面這一個式子很關鍵
int start_of_comma = start_of_num + (len_of_num%3 == 0 ? 3 : len_of_num%3);
start_of_num
是為了跳過負號,獲得數字部分開始的索引。
len_of_num%3 == 0 ? 3 : len_of_num%3
如果數字部分的長度能被3整除,為了不能在數字的一開頭就加上逗號,所以要使其為3以跳到下一個應該插入逗號的位置,這樣的位置(start_of_num + 3)才為第一個逗號應插入的索引。
如果數字部分的長度不能被3整數,直接對3取餘,start_of_num加上餘數就是第一個逗號應插入的索引。
# include <iostream>
# include <vector>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
string str_sum = to_string(a + b);
int str_size = str_sum.size(); // 未加逗號的結果字串的長度
int start_of_num = str_sum[0] == '-' ? 1 : 0; // 根據是否有負號來求得第一個數字字元的索引
int len_of_num = str_size - start_of_num; // 求得未加逗號的結果字串的數字部分的長度
int start_of_comma = start_of_num + (len_of_num%3 == 0 ? 3 : len_of_num%3); // 求得第一個逗號應插入的位置(關鍵!!!!)
//從第一個逗號處開始每隔三位數字插入一個逗號
for(int i = start_of_comma;i < str_size;i+=3)
str_sum.insert(i++, ","); // 插入後i指向當前字元而不是指向逗號處,所以i++跳過已經插入的逗號
cout << str_sum << endl;
return 0;
}
相關文章
- 【PAT甲級A1065】A+B and C (64bit) (20分)(c++)C++
- PTA甲級 1076 Forwards on Weibo (30分)Forward
- 【PAT甲級A1084】Broken Keyboard (20分)(c++)C++
- C++學習之路 | PTA乙級—— 1015 德才論 (25分)(精簡)C++
- 【PAT甲級A1038】Recover the Smallest Number (30分)(c++)C++
- PAT 甲級 1152 Google Recruitment (20分)GoUI
- PAT甲級1154 Vertex Coloring (25分)|C++實現C++
- PAT甲級1122 Hamiltonian Cycle (25分)|C++實現C++
- PAT甲級1110 Complete Binary Tree (25分)|C++實現C++
- PTA乙級_1024 科學計數法 (20分)_pythonPython
- (非原創)PAT甲級1123 Is It a Complete AVL Tree (30分)|C++實現C++
- PAT甲級考試題庫題目分類
- P1001 A+B Problem(整活-dijstra堆最佳化)JS
- PAT甲級1126~1130|C++實現C++
- PTA基礎6-8簡單階乘計算
- 1022 D進位制的A+B (20分)
- 7-20 簡單計算器 (20分)
- C++簡單vectorC++
- 【PTA】 學生成績錄入及查詢 (20分)
- 6-1 二分查詢 (20分) PTA 資料結構資料結構
- pta天梯賽L1-008 求整數段和 c++(10分)C++
- PTA 檢查密碼 (15分)密碼
- 簡單理解C++引用C++
- 程式設計題A+B Format的總結(第二次作業<一>)程式設計ORM
- 簡單介紹iOS超級簽名系統分發配置iOS
- 1016 部分A+B (15 分)JavaJava
- C++ - 簡單工廠模式C++模式
- PAT甲級-1005. Spell It Right (20)各位之和
- 基礎程式設計題(PTA) 7-26 單詞長度 (15分)程式設計
- 暴力解法破解PTA L1-006 連續因子 (20分)
- 【PAT乙級、C++】1024 科學計數法 (20分)C++
- 2024 秋季PAT認證甲級(題解A1-A4)
- c++簡單程式設計-3C++程式設計
- 簡單C++執行緒池C++執行緒
- c++類的簡單例項C++單例
- C++智慧指標簡單剖析C++指標
- C++基礎簡單總結C++
- 【c++】c++格式控制輸出簡單應用C++