码迷,mamicode.com
首页 > 其他好文 > 详细

PAT 甲级 A1060 (2019/02/22)

时间:2019-02-22 18:17:49      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:pat   小数点   大写   ++   说明   begin   out   div   cin   

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 using namespace std;
 5 int n;
 6 string Deal(string S, int &e){
 7     int k = 0;    //s的下标
 8     while(S.length() > 0 && S[0] == ‘0‘){
 9         S.erase(S.begin());        //去掉S的前导0 
10     }
11     if(S[0] == ‘.‘){        //若去掉前导0后是小数点,则说明S是小于1的学生 
12         S.erase(S.begin());        //去掉小数点
13         while(S.length() > 0 && S[0] == ‘0‘){
14             S.erase(S.begin());    //去掉小数点后面非零位前的所有零 
15             e--;    //每去掉一个零,指数e减1        
16         } 
17     }else{        //若去掉前导0后不是小数点,则找到后面的小数点删除 
18         while(k < S.length() && S[k] != ‘.‘){    //寻找小数点 
19             k++;
20             e++;    //只要不遇到小数点,就让指数e++ 
21         }
22         if(k < S.length()){    //while结束后k<S.length(),说明遇到了小数点 
23             S.erase(S.begin() + k);        //删除小数点 
24         } 
25     }
26     if(S.length() == 0){
27         e = 0;        //如果去掉前导0后S的长度为0,则这个数为0 
28     }
29     int num = 0;    //
30     k = 0;
31     string res;
32     while(num < n){        //只要精度还没到n 
33         if(k < S.length())    
34             res +=S[k++];    //只要还有数字,就加到res末尾 
35         else 
36             res += ‘0‘;        //否则res末尾添加0 
37         num++;        //精度加1 
38     }
39     return res;
40 } 
41 int main(){
42     string S1, S2, S3, S4;    
43     cin >> n >> S1 >> S2;
44     int e1 = 0, e2 = 0;        //e1 e2为S1 S2的指数 
45     S3 = Deal(S1, e1);
46     S4 = Deal(S2, e2);
47     if(S3 == S4 && e1 == e2)        //若主体&指数相同,则输出“YES” 
48         cout << "YES 0." << S3 << "*10^" << e1 << endl;         
49     else            //这里对于YES,NO应该是字母全部大写
50         cout << "NO 0." << S3 << "*10^" << e1 << " 0." << S4 << "*10^" << e2 << endl;
51     return 0;
52 } 

 

PAT 甲级 A1060 (2019/02/22)

标签:pat   小数点   大写   ++   说明   begin   out   div   cin   

原文地址:https://www.cnblogs.com/zjsaipplp/p/10419669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!