1024 科學計數法

2022-06-28 08:06:14 字數 2076 閱讀 2817

科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正規表示式 [+-][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

printf("%c", *p ? *p : '0'); 注意*p是字元指標, 所以是'0', 不是0

scanf的正規表示式, 內是匹配的字元,^表示求反集,當遇到非集合內的字元時立即終止輸入

scanf("%[^]"),和scanf("%s")的區別是:前者在讀字串的時候在遇到^符號後面的字元時候停止(不會讀入那個終止符),而後者在遇到空白,換行時候終止

還要注意s陣列不要開的太小, 不然會有乙個測試點wa。

#include int main()

p ++;

if(n >= 0) // 指數

if(*p)

}} else

while(*p)

p ++;

} }// printf("%s %d", s, n);

return 0;

}

關於scanf的正規表示式, 我參考了

#include int main()

;// scanf("%5s", buf); //%5s,只取個字元

// printf("%s\n", buf);

/*2. 正規表示式 %*[width] type

前面帶「*」號表示不儲存變數。跳過符合條件的字串

*/// char sztmp[10] = ;

// scanf("%*s%s", sztmp); //%*s表示第乙個匹配到的%s被過濾掉

// printf("%s\n", sztmp);

/* 3. %[ ]表示要讀入乙個字元集合,

如果「[」後面第乙個字元是「^」,則表示取反的意思,

即求「」內字符集的補集。「」內的字串可以是1或更多字元組成。

空字符集(%)是違反規定的,可導致不可預知的結果。

%[^] 也是違反規定的。

% [a-z] 讀取在a-z之間的字串

*/// char sztmp[10] = ;

// scanf("%[^ ]", sztmp); //%[^ ]表示取遇到空格為止的字串

// printf("%s\n", sztmp);

char sztmp[10] = ;

scanf("%*[^@]@%[^\.]", sztmp); //匹配從"@"到"."之間的字元

printf("%s\n", sztmp);

/* 解釋:「%*[^@]」表示濾掉「@」前的字串,

接下來的乙個「@」表示耗掉乙個「@」但不儲存到變數中,

大家可以將第二個「@」去掉試一試,輸出結果 為「@gmail」,

後面的%[^\.]匹配到「.」之前的字元,由於「.」是正規表示式的元字元,因此加了「\」來轉義。

*/ return 0;}/*

sample input(1, 2, 3):

hello, world!

output1:

hello

output2:

world!

output3:

hello,

sample input4:

[email protected]

output4:

gmail

*/

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