標籤:
題目描述 Description
輸入機票原價(3到4位的正整數,單位:元),再輸入機票打折率(小數點後最多一位元字)。編程計算打折後機票 的實際價格(單位:元。計算結果要將個位元四捨五入到十位元“元”)。輸入只有一行兩個數(兩數間用一個空格分隔),第一個為整數,表示機票原價,第二個 整數或實數(如是實數,小數點後最多1位元字)表示打折率。
輸入範例1:
888 7
輸出範例1:
620
輸入範例2:
1255 7
輸出範例2:
880
輸入描述 Input Description
輸入只有一行兩個數(兩數間用一個空格分隔),第一個為整數,表示機票原價,第二個整數或實數(如是實數,小數點後最多1位元字)表示打折率。
輸出描述 Output Description
輸出只有一行一個正整數,表示打折後的機票價格。
範例輸入 Sample Input
888 7
範例輸出 Sample Output
620
資料範圍及提示 Data Size & Hint
原機票價格大於100小於9999,打折率大於1小於9.9。
思路:這題有點複雜,可以用兩個float浮點數儲存機票價格和打折率,然後計算乘積除以100(為什麼要除以100,因為要保留到十位,如果除以10的話只是保留到了個位,最後再將結果乘回10),可以用:=(int)(x+0.5)>(int)x?(int)x+1:(int)x 這個代碼來實現四捨五入,int類型的y,浮點數類型的x,返回的就是四捨五入後的結果
代碼如下:
1 #include <stdio.h> 2 int main() 3 { 4 float a,b; 5 float c; 6 int ans; 7 scanf("%f%f",&a,&b); 8 c=a*b/100; 9 ans=(int)(c+0.5)>(int)c?(int)c+1:(int)c;10 printf("%d\n",ans*10);11 return 0;12 }
CODE[VS]-機票打折-浮點數處理-天梯青銅