拿氣溫來說,攝氏15度和攝氏15.05度的差距對人來說差異實在不大,有了數學概數的觀念,我們可以透過四捨五入法來得到一個數字的估計值,進而方便統計。
現在請你將一些小數利用程式來四捨五入。
輸入說明 :
共計三個測資點,每個測資檔中有多行小數n(-1<=n<=1),至多小數點以下有100位數
輸出說明 :
請輸出四捨五入至小數點以下第二位的結果
範例輸入 :
1.00000
0.5
0.715
0.1234567890
-0.995
範例輸出 :
1.00
0.50
0.72
0.12
-1.00
提示 :
背景知識: 浮點數
程式碼 :
#include <stdio.h> int main() { int i,dot; char s[105]; while(scanf("%s",s)==1) { for(i=0;s[i]!='.';i++); dot = i; if(s[dot+3]>'4') s[dot+2]++; for(i=dot+2;i>-1;i--) { if(s[i]!='.' && s[i]!='-') { if(s[i]==58) { s[i] = 48; if(s[i-1] != '.') s[i-1]++; else s[i-2]++; } else break; } } s[dot+3] = '\0'; if(s[1]==s[3] && s[3]==s[4] && s[4]=='0') printf("%s\n",s+1); else printf("%s\n",s); } return 0; }
http://zerojudge.tw/ShowProblem?problemid=d561
沒有留言:
張貼留言