PAT甲級1001 A+B Format

      網友投稿 738 2025-03-31

      PATA1001 A+B Format

      PATA1001 A+B Format

      Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits)

      Sample Input:

      -1000000 9

      Sample Output:

      -999,991

      主要的工作是對輸出的結果進行處理,怎么樣使得逗號正確的分隔是關鍵。

      我們可以使用 to string 將 A+B 的數字結果轉化為字符串。

      按照題意去用逗號分隔字符串

      to_string 的用法:to_string, 推薦查閱官方文檔,表述清晰

      #include using namespace std; int main() { int a, b; cin >> a >> b; string s = to_string(a + b); //將輸入的a+b的結果轉化為字符串 //接下來我們處理字符串就可以了 int len = s.length();//計算字符串長度 for (int i = 0; i < len; i++) { cout << s[i]; if (s[i] == '-') continue; if ((i + 1) % 3 == len % 3 && i != len - 1) //判斷是否需要加逗號 cout << ","; } return 0; }c

      1

      2

      3

      4

      5

      6

      PAT甲級1001 A+B Format

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      if ((i + 1) % 3 == len % 3 && i != len - 1) cout << ",";

      1

      2

      上面這段可能不好理解,接下來我試著解釋清楚

      我們用 len % 3 將這個字符串里的字符分為 3 個一組。這個余數的數值代表著三個一組多出來了幾個。我們從右邊往左邊 3 個一組開始分。分到最左邊,要么剛剛好,要么多了1個或者兩個。

      如果剛剛好,那么第一個逗號的位置應該是,字符串從左往右數,第 **3** 個數值后面,也就是字符串下標為 2 的位置,后面的逗號位置就是前一個逗號位置往后推 3 個。

      如果余 1 ,那么第一個逗號的位置應該是,字符串從左往右數,第 **1** 個數值后面,也就是字符串下標為 0 的位置,后面的逗號位置就是前一個逗號位置往后推 3 個。

      如果余 2 ,那么第一個逗號的位置應該是,字符串從左往右數,第 **2** 個數值后面,也就是字符串下標為 1 的位置,后面的逗號位置就是前一個逗號位置往后推 3 個。

      這樣判斷條件 (i + 1) % 3 == len % 3 就出來了。

      然而,字符串末尾肯定是不能加逗號的。

      所以我們要加上一句 i != len - 1

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何解綁呀(為什么如何解綁)
      下一篇:excel中制作圖表的教程
      相關文章
      亚洲中文字幕久久久一区| 亚洲色无码一区二区三区| 亚洲AV无码成人精品区天堂 | 亚洲av片一区二区三区| 亚洲AV无码国产一区二区三区| 亚洲欧美日韩一区二区三区| 亚洲一线产品二线产品| 亚洲乱亚洲乱妇24p| 亚洲JIZZJIZZ妇女| 亚洲av日韩av永久在线观看| 色欲aⅴ亚洲情无码AV蜜桃| 久久精品国产亚洲AV电影网| 豆国产96在线|亚洲| 午夜亚洲WWW湿好爽| 在线a亚洲v天堂网2018| 亚洲国产成人久久精品99 | 亚洲AV无码乱码在线观看代蜜桃| 亚洲人成网站看在线播放| 97se亚洲国产综合自在线| 亚洲中文字幕无码中文字| 亚洲欧美日韩久久精品| 18禁亚洲深夜福利人口| 亚洲AV日韩精品一区二区三区| 亚洲人成无码网WWW| 亚洲深深色噜噜狠狠爱网站| 久久精品国产亚洲综合色| 亚洲人成电影亚洲人成9999网| 亚洲麻豆精品果冻传媒| 亚洲免费在线视频观看| 亚洲成A人片在线播放器| 亚洲AV色无码乱码在线观看| 亚洲午夜精品一级在线播放放 | 亚洲美女又黄又爽在线观看| 亚洲AV无码久久精品色欲| 老色鬼久久亚洲AV综合| 国产91在线|亚洲| 色欲aⅴ亚洲情无码AV| 国产亚洲人成A在线V网站| 亚洲国产成人高清在线观看 | 亚洲国产日韩在线观频| 亚洲韩国精品无码一区二区三区 |