PAT B1024 科學計數法 (20 分

2021-09-13 16:47:05 字數 958 閱讀 2881

1024 科學計數法 (20 分)

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

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

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

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

+1.23400e-03
0.00123400
-1.2e+10
-12000000000
一開始有乙個正負號,如果是 負 則輸出負號,如果是 正, 則不用管它。

1.用字串把中間的數字(除去符號位第二位,一直到字元'e'的前一位)儲存。2.把字元'e'後面的數字儲存,這是指數。

若指數為正,小數點往右移;若指數為負,小數點往左移。

case1:小數點往左移。 很簡單,在小數點後面補上 (指數 - 1)個0。

case2:小數點往右移。如果右移超過本來的小數字數,補0。

如果右移在小數字數之內,找到這個位置,輸出小數點。

這題按照正常思路我寫了50行,後來覺得太蠢...又參照別人**改短到30行。

#include using namespace std;

int main()

else

} return 0;

}

PAT B1024 科學計數法

1024 科學計數法 20 分 科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有 1 位,小數部分至少有 1 位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數 a,請編寫程式按普通數字表...

PAT B1024 科學計數法

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有 1 位,小數部分至少有 1 位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數 a,請編寫程式按普通數字表示法輸出 a,並保證所有有效位都...

PAT B 1024 科學計數法 (20 分)

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有 1 位,小數部分至少有 1 位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數 a,請編寫程式按普通數字表示法輸出 a,並保證所有有效位都...