設計思路:
數字的正負號決定輸出普通數字的正負
指數的正負號決定小數點的移動
編譯器:c (gcc)
#include
#include
intmovepoint
(char n,
int index)
;/*當指數為正,向右移動小數點*/
/*此函式用 '\0' 判斷補 0 和輸出小數點,陣列至少需要 10002 個空間,定義 n[10003]*/
intrightprint
(char n,
int index)
;/*此函式利用指標直接迴圈輸出,陣列空間達題目要求即可,定義 n[10000](參考原始碼來自
intmain()
;scanf
("%[^e]e%d"
, n,
&index);if
(n[0]==
'-')
printf
("-");
if(index >=0)
else
printf
("%c%s\n"
, n[1]
, n+3)
;}return0;
}int
movepoint
(char n,
int index)if(
*(p+1)
=='\0'
)*p =
'\0'
;return0;
}int
rightprint
(char n,
int index)if(
*p)}
1024 科學計數法,C
這題挺麻煩的,各種小數點和正負號搞的亂死,看的時候要看仔細了,我特意用1.1 2.3標出了6種情況,實際上只分了3種,前3種情況理解了,後面的就是對應地方都 1的問題 include include intmain 輸入 char b 20000 輸出 int d 0,i 2,x 0,n 0,j 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,並保證所有有效位都被保留。輸入...