您的位置:首页 > 其它

2015/4/14课堂练习

2015-04-15 19:28 232 查看
1.设计题目

书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示: 本     数量 折扣

    2 5%

    3 10%

    4 20%

    5 25%

2.设计要求

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。 设计算法能够计算出读者购买一批书的最低价格。 要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。(截止日期2015-4-15晚18:00)

3、设计思路

由题目能够看出来,1-5本书的时候是很简单的,关键是大于5本书的情况,

6本:5.1 4.2 3.3

      7本:5.2 4.3

      8本:5.3 4.4

      9本:5.4 (很显然,再分成三组只会增大花销)

      10本:5.5

      11本:5.5.1 ~~~

      >10的时候可以分成5n+(6~9)的数

3、源代码

#include<iostream.h>
int main()
{
  double sum;
 sum=0;
int i,j;
cout<<"请输入要购买本数(请输入大于0的整数):";
cin>>i;
if(i<0)
{
  cout<<" 错误"<<endl;
    cout<<"请重新输入本数(请输入大于0的整数):";
    cin>>i;
  }
  if(i<5)
  {
    switch(i)
  {
  case 1:
  sum = 8;
  break;
  case 2:
  sum = 8*2*0.95;
  break;
case 3:
  sum = 8*3*0.9;
  break;
case 4:
  sum = 8*4*0.8;
  break;
case 5:
  sum = 8*5*0.75;
  break;
 }
  }
  else(j=i%5);
  switch(j)
 {
   case 0:
  sum=i*8*0.75;
  break;
  case 1:
  sum=(i-1)*8*0.75+8;
  break;
  case 2:
  sum=(i-2)*8*0.75+15.2;
  break;
  case 3:
  sum=(i-8)*8*0.75+51.2;
  break;
  case 4:
  sum=(i-4)*8*0.75+25.6;
  break;
  }
  cout<<"最低价格:"<<sum<<endl;
  return 0;
}

4、实验结果截图



5、实验心得

  由于家里有事,这次课没上,导致我拿到这个题目的时候,硬是看了一个小时,一点思路没有,完全不知道题目在说什么,更不用说有想法去解决了,最后还是问的舍友题目的意思,才有了思路,有思路后到感觉这个题目也不难,就是在于理解,找到着手点,知道从哪下手,小到个程序,大到一个程序都需要一步一步去做。

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: