description科學計數法是將乙個數字表示成 a×10的n次方的形式.其中1≤|a|<10,n為整數。
我們給你乙個數x, 請把它用科學計數法表示出來,並保留 k 位有效數字。
有效數字是指在乙個數中,從該數的第乙個非零數字起,直到末尾數字止的數字稱為有效數字,如0.618的有效數字有三個,分別是6,1,8。(不用考慮四捨五入)
input多組測試資料(組數<=100)。
每組輸入形如:
x k
0< x< 10^120, 0< k<20, 注意讀入的數字可能會有前置0。
output請輸出對應的科學計數後的數。
sample input1030 3
1000 2
0.0032 3
sample output1.03e3
1.0e3
3.20e-3
比賽的時候wa了好多發,考慮各種情況,各種判斷,emmm大概是最麻煩的方法了不考慮四捨五入,可用字串輸入
#include
#include
#include
#include
#include
#include
using
namespace
std;
int main()
else
if(st[i]!='0'&&flag==false)//flag用於判斷是否第一次讀取非零字元
}int tmp=firstpos;//儲存第乙個非零字元的位置
cout
if(k!=1)
for(int i=1;i//k為有效數字數,因為已經輸出一位有效數字,故迴圈次數只需k-1次
if(firstpos+1>len-1)//超出字串長度用0代替
else
if(st[firstpos+1]!='.')//輸出不是小數點的字元
firstpos++;
}if(pointpos==0)//不存在小數點
1024 科學計數法
科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。輸入...
1024 科學計數法
科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。輸入...
1024 科學計數法
科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 1 9 0 9 e 0 9 即數字的整數部分只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。現以科學計數法的格式給出實數a,請編寫程式按普通數字表示法輸出a,並保證所有有效位都被保留。輸入...