PAT-乙級-1024. *科學計數法 (20)


1024. 科學計數法 (20)

時間限制
100 ms
內存限制
65536 kB
代碼長度限制
8000 B
判題程序
Standard
作者
HOU, Qiming

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正則表達式[+-][1-9]"."[0-9]+E[+-][0-9]+,即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。

現以科學計數法的格式給出實數A,請編寫程序按普通數字表示法輸出A,並保證所有有效位都被保留。

輸入格式:

每個輸入包含1個測試用例,即一個以科學計數法表示的實數A。該數字的存儲長度不超過9999字節,且其指數的絕對值不超過9999。

輸出格式:

對每個測試用例,在一行中按普通數字表示法輸出A,並保證所有有效位都被保留,包括末尾的0。

輸入樣例1:
+1.23400E-03
輸出樣例1:
0.00123400
輸入樣例2:
-1.2E+10
輸出樣例2:
-12000000000
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main(void)
 5 {
 6     char head,a[10001]= {0};
 7     int ex=0;
 8     scanf("%c%c.%[0-9]E%d",&head,&a[0],a+1,&ex);//輸入拆分
 9     if (head == '-') printf("-");
10     if(ex>=0)
11     {
12         for(int i=0; i<ex+1||a[i]!=0; i++)
13         {
14             if(i==ex+1) printf(".");
15             printf("%c",a[i]==0?'0':a[i]);
16         }
17     }
18     else
19     {
20         printf("0.");
21         for(int i=1; i<(-ex); i++)
22             printf("0");
23         printf("%s",a);
24     }
25     printf("\n");
26 
27     return 0;
28 }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM