2015年5月22日 星期五

d827:買鉛筆(3)

d827: 買鉛筆(3)

更新時間:2016/12/20
內容
  鉛筆一支 5 元,一打 50 元。小明需要幫班上每位同學買一枝鉛筆,請問要多少錢?由於小明很注重環保,他絕不會為了省錢而多買任何不需要的東西。也就是說,小明買的鉛筆數量一定等於班上的人數。
輸入說明
  輸入只有一行,含有小明班上的人數 n,1 ≤ n ≤ 200。
輸出說明
  請輸出一個數字,代表這次採購的金額。
範例輸入
  42
範例輸出
  180
提示
背景知識
  算術運算子


想一想,再看解答~



我的解題想法:
  1「打」鉛筆的單價比 1「支」鉛筆還便宜,故買 1「打」優先於買 1「支」;但小明買的鉛筆數量剛好等於班上的人數,也就是說不能多買鉛筆。必須思考要買多少「打」鉛筆,「不足」的部分才會低於12支!


程式碼:
#include <stdio.h>
int main(void){
    int n;
    scanf("%d",&n);
    printf("%d",(n/12)*50+(n%12)*5);
    return 0;
}
程式碼解析
#1:引入標準輸入/輸出串流。
#2:主程式開始,回傳引數int,沒有參數。
#3:宣告一個整數(int)變數「n」,範圍–2,147,483,648 到 2,147,483,647。
#4:從標準輸入讀取格式化數據。讀取1個整數(%d),指定值給「n」。
#5:將格式化數據顯示到標準輸出。輸出1個整數(%d)「(n/12)*50+(n%12)*5」。
(n/12)計算必須要買幾打;(n%12)計算不足的鉛筆數量。
#6:主程式回傳整數「0」。
#7:主程式結束。