1. 程式人生 > >第八屆藍橋杯第一題購物單

第八屆藍橋杯第一題購物單



小明剛剛找到工作,老闆人很好,只是老闆夫人很愛購物。老闆忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。

這不,XX大促銷又來了!老闆夫人開出了長長的購物單,都是有打折優惠的。 小明也有個怪癖,不到萬不得已,從不刷卡,直接現金搞定。 現在小明很心煩,請你幫他計算一下,需要從取款機上取多少現金,才能搞定這次購物。

取款機只能提供100元面額的紙幣。小明想盡可能少取些現金,夠用就行了。

你的任務是計算出,小明最少需要取多少現金。

以下是讓人頭疼的購物單,為了保護隱私,物品名稱被隱藏了。

****     180.90       88

****      10.25       65

****      56.14        9

****     104.65        9

****     100.30       88

****     297.15        半價

****      26.75       65

****     130.62        半價

****     240.28       58

****     270.62        8

****     115.87       88

****     247.34       95

****      73.21        9

****     101.00        半價

****      79.54        半價

****     278.44        7

****     199.26        半價

****      12.97        9

****     166.30       78

****     125.50       58

****      84.98        9

****     113.35       68

****     166.57        半價

****      42.56        9

****      81.90       95

****     131.78        8

****     255.89       78

****     109.17        9

****     146.69       68

****     139.33       65

****     141.16       78

****     154.74        8

****      59.42        8

****      85.44       68

****     293.70       88

****     261.79       65

****      11.30       88

****     268.27       58

****     128.29       88

****     251.03        8

****     208.39       75

****     128.88       75

****      62.06        9

****     225.87       75

****      12.89       75

****      34.28       75

****      62.16       58

****     129.12        半價

****     218.37        半價

****     289.69        8

需要說明的是,88折指的是按標價的88%計算,而8折是按80%計算,餘者類推。

特別地,半價是按50%計算。

請提交小明要從取款機上提取的金額,單位是元。

答案是一個整數,類似4300的樣子,結尾必然是00,不要填寫任何多餘的內容。

特別提醒:不許攜帶計算器入場,也不能開啟手機。

答案:5200

程式碼:

#include<stdio.h>

#define N 50

int main()

{double a[N]={180.90,10.25,56.14,104.65,100.30,297.15,26.75,130.62,240.28,270.62,115.87,247.34,73.21,101.00,79.54,278.44,199.26,12.97,166.30,125.50,84.98,113.35,166.57,42.56,81.90,131.78,255.89,109.17,146.69,139.33,141.16,154.74,59.42,85.44,293.70,261.79,11.30,268.27,128.29,251.03,208.39,128.88,62.06,225.87,12.89,34.28,62.16,129.12,218.37,289.69};     

double b[N]={0.88,0.65,0.90,0.90,0.88,0.50,0.65,0.50,0.58,0.80,0.88,0.95,0.90,0.50,0.50,0.70,0.50,0.90,0.78,0.58,0.90,0.68,0.50,0.90,0.95,0.80,0.78,0.90,0.68,0.65,0.78,0.80,0.80,0.68,0.88,0.65,0.88,0.58,0.88,0.80,0.75,0.75,0.90,0.75,0.75,0.75,0.58,0.50,0.50,0.80};

double sum=0.0;

double d;

int c;

int i;

for(i=0;i<N;i++)

sum+=(a[i]*b[i]);

printf("sum=%lf\n",sum);

d=sum/100+0.5;

c=(d+0.5);

printf("應取出%d\n",c*100);

return 0;

}