蓝桥杯第八届省赛-购物单

购物单

小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。

这不,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折

这个题其实对数据稍稍处理一下,就可以运用简单的程序直接的出答案,而不用一个一个的算,处理后的数据如下

180.90 0.88
10.25 0.65
56.14 0.9
104.65 0.9
100.30 0.88
297.15 0.5
26.75 0.65
130.62 0.5
240.28 0.58
270.62 0.8
115.87 0.88
247.34 0.95
73.21 0.9
101.00 0.5
79.54 0.5
278.44 0.7
199.26 0.5
12.97 0.9
166.30 0.78
125.50 0.58
84.98 0.9
113.35 0.68
166.57 0.5
42.56 0.9
81.90 0.95
131.78 0.8
255.89 0.78
109.17 0.9
146.69 0.68
139.33 0.65
141.16 0.78
154.74 0.8
59.42 0.8
85.44 0.68
293.70 0.88
261.79 0.65
11.30 0.88
268.27 0.58
128.29 0.88
251.03 0.8
208.39 0.75
128.88 0.75
62.06 0.9
225.87 0.75
12.89 0.75
34.28 0.75
62.16 0.58
129.12 0.5
218.37 0.5
289.69 0.8

代码

#include<iostream>
using namespace std;
double cost[50][2];
double costCnt=0;
int main(){
    
    
	freopen("cost.txt","r",stdin);
	for(int i=0;i<50;i++){
    
    
		for(int j=0;j<2;j++){
    
    
			cin>>cost[i][j];
		}
	}
	for(int i=0;i<50;i++)		
		costCnt += cost[i][0]*cost[i][1];
	cout<<costCnt<<endl;
	return 0;	
}

答案:(5136.86)->5200

猜你喜欢

转载自blog.csdn.net/weixin_46610759/article/details/108248075