CODE[VS]-機票打折-浮點數處理-天梯青銅

來源:互聯網
上載者:User

標籤:

題目描述 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]-機票打折-浮點數處理-天梯青銅

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.