码迷,mamicode.com
首页 > 其他好文 > 详细

买书实验

时间:2016-06-03 18:48:02      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

实验题目:

技术分享技术分享

设计思路:

这次的实验是目前做过最简单的,重点在于把特殊情况找出来,一开始简单的以为只要和五本组合就可以了,除五取余取整就可以了,后来经过课堂上的计算才知道重点在8,所以除10取余取整就可以了。

实验代码:

#include<iostream>
using namespace std;

int main()
{
  int num;
  cout<<"请输入购买书的数量:";
  cin>>num;
  double money=0.0;
  double one,two,three,four,five,six,seven,eight,nine,ten;
  //计算10本书以内的各种最佳购书方案
  one=8;
  two=2*8*(1-0.05);
  three=3*8*(1-0.1);
  four=4*8*(1-0.2);
  five=5*8*(1-0.25);
  six=8+5*8*(1-0.25);
  seven=2*8*(1-0.05)+5*8*(1-0.25);
  eight=2*4*8*(1-0.2);
  nine=5*8*(1-0.25)+4*8*(1-0.2);
  ten=2*5*8*(1-0.25);
  cout<<"最佳购书方案为:"<<endl;
  int a;//计算买a个两套成套的书(10本)
  a=num/10;
  money=a*ten;//计算买a个两套成套的书(10本)需要的金额
  int b;//计算超出a个10本书的个数
  b=num%10;
  switch(b)//计算每种数量的价格
  {
  case(1): {money=money+one; break;}
  case(2): {money=money+two;break;}
  case(3): {money=money+three;break;} 
  case(4): {money=money+four;break;}
  case(5): {money=money+five;break;}
  case(6): {money=money+six;break;}
  case(7): {money=money+seven;break;}
  case(8): {money=money+eight;break;}
  case(9): {money=money+nine;break;}								 
  }
  //输出购买方案
  if(b==8) cout<<"购买"<<a*2<<"套全套的书   再分两次购买 "<<4<<"本不同样的书"<<endl;
  else if(b>=5)
 { 
	  a=a+1;
	  b=b-5;
	  cout<<"购买"<<a*2<<"套全套的书   再买 "<<b<<"本不同样的书"<<endl;
  }
  else  cout<<"购买"<<a*2<<"套全套的书   再买 "<<b<<"本不同样的书"<<endl;
  cout<<"总金额为:"<<money<<endl;



}

  运行结果:

技术分享

经验总结:

总是觉得编程难,这一次是很简单,但是又眼高手低,自以为是,很多时候动手算一算才知道对错。

买书实验

标签:

原文地址:http://www.cnblogs.com/yhhzxcvbnm/p/5557215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!