PAT 乙級真題 1014 科學計數法

2022-04-09 20:23:33 字數 1046 閱讀 5527

題目描述

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式[+-][1-9]"."[0-9]+e[+-][0-9]+,即數字的整數部分

只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。

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

輸入格式

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

輸出格式

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

輸入樣例

+1.23400e-03
輸出樣例
0.00123400
題目思路

暴力演算法,e後為負數時輸出時往前面補0,e後為正數時,將字元陣列向後移位處理。

#include#includeusing namespace std;

const int n = 1e4 + 10;

char a[n], b[n];

int main()

int len = i - 2;

if (a[++i] == '+')

seed = 1;

m += a[++i] - 48;

while (a[++i])

i = 0;

while (b[i++] != '.');

int j = i - 1;

if (seed)

b[i + m - 1] = '.';

i = i + m - 1;

m = i;

for (; i >= 0; --i)

if (m - 1 > len)

else

b[j] = '\0';

} printf("%s", b);

} else

else

}return 0;

}

PAT(乙級)1014 科學計數法 20

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

PAT乙級 1014 科學計數法 20

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

PAT乙級真題 1024 科學計數法 C 實現

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