1024 科學計數法

2021-09-27 12:53:10 字數 1118 閱讀 5202

分析:將輸入的實數a分成幾部分分別存放

根據題意判斷這幾部分並輸出

opt1儲存』+』,opt2儲存』-』;char s[10000] 儲存"1.23400",int num儲存"03"

符號位:opt1為正就不輸出,負就輸出

opt2為負:左移小數點num位

先輸出num個0(格式為0.000…),再輸出s1(不輸出小數點)

考慮num為0的特殊情況

opt2為正:右移小數點num位

如果移動過程中小數點到了最右邊,輸出多餘的0,去除小數點

未到最右邊,右移小數點num位即可

#include

using

namespace std;

intmain()

//輸出符號位 負號 if(

'-'== opt2)

//輸出因為左移而多

for(

int i =

0; i < num; i++

) cout <<

'0';

for(

int i =

0; i < count -

1; i++

)//輸出s,count-1,不輸出e if(

'.'!= s[i]

) cout << s[i];}

if('+'== opt2)if(

'.'!= s[i])}

}if(num > count-3)

for(

int i =

0; i < num-count+

3; i++

)//小數點移動了count-3位,還要加num-(count-3)個0

cout <<

'0';}}

}

反饋:

這個思路可以ac,但是花了我乙個小時,有點久了吧…

寫得我頭暈

反思:debug的時候,for迴圈裡i++寫成了count++,一直沒找出來…有20min左右在找它

以後如果出現無限迴圈的bug,優先檢查for迴圈條件

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,並保證所有有效位都被保留。輸入...