程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> PAT甲級 1001. A+B Format (20)

PAT甲級 1001. A+B Format (20)

編輯:關於C++

PAT甲級 1001. A+B Format (20)。本站提示廣大學習愛好者:(PAT甲級 1001. A+B Format (20))文章只能為提供參考,不一定能成為您想要的結果。以下是PAT甲級 1001. A+B Format (20)正文


標題原文:

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).

Input

Each input file contains one test case. Each case contains a pair of integers a and b where -1000000 <= a, b <= 1000000. The numbers are separated by a space.

Output

For each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.

Sample Input

-1000000 9

Sample Output

-999,991

標題意思:
輸出倆int型數字,對數字大小范圍有規則,計算和,並且依照規范格式輸入。規范格式為:從末尾數字開端數,每隔三個有一個","號,假如數字原本就缺乏四位,則後面不加","號。

題解:
計算倆數字和之後,轉換成string型,由於數字長度也不大,於是把數字給分解了,放到一個map裡,看代碼23和24行,比方最後一位就是m[1]="X",這樣再輸入的時分,假如m[i]的i值為3的倍數且小於str去除"-"號之後的長度,則加","輸入。
 1 #include <iostream>
 2 #include <map>
 3 #include <strstream>
 4 using namespace std;
 5 map <int,string> m;
 6 int main()
 7 {
 8     int a,b;
 9     while(cin>>a>>b){
10         int sum = a+b;
11         //把int型的sum轉換成string型的str
12         strstream ss;
13         string str;
14         ss << sum;
15         ss >> str;
16         int str_length = str.length();
17         if(sum<0){
18             str_length--;
19             //刪除str的-號
20             str.erase(0,1);
21         }
22         //把str逆向輸出到m[i]中,str最後一位是m[1]
23         for(int i=1; i<=str_length; i++){
24             m[i]=str.at(str_length-i);
25         }
26         if(sum<0) cout<<"-";
27         for(int i=str_length; i>=1; i--){
28             if(i%3==0&&i<str_length) cout<<","<<m[i];
29             else cout<<m[i];
30         }
31         cout<<endl;
32     }
33     return 0;
34 }

 代碼:https://git.oschina.net/firstmiki/PAT-Advanced-Level-Practise

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved