求最低价格
2016-06-02 13:59
302 查看
#include <iostream> using namespace std; #define PRICE 8 double discount[5]={0,0.05,0.1,0.2,0.25}; double Caculate(int num1,int num2) //计算该情况的价钱 { double money,money1,money2; money1=(PRICE-PRICE*discount[num1-1])*num1; money2=(PRICE-PRICE*discount[num2-1])*num2; money=money1+money2; return money; } double Discount(int num) //分情况讨论价钱 { int k,yushu; double money1,money2,min; k=num/5; //取整 yushu=num%5; //取余 min=num*PRICE; switch(k) { case 0: money1=(PRICE-PRICE*discount[num-1])*num; break; default: if(yushu==0) { money1=(PRICE-PRICE*discount[4])*num; return money1; } for(int i=1;i<(yushu+5);i++) { money1=Caculate(i,(yushu+5)-i); if(money1<min) min=money1; } if(num>9) money2=(k-1)*5*(PRICE-PRICE*discount[4]); else money2=0; return min+money2; } return money1; } int main(int argc, char* argv[]) { int booknum; double money; cout<<"请输入购买书籍的数量:"; cin>>booknum; money=Discount(booknum); cout<<"最优惠的价格是"<<money<<"元"<<endl; return 0; }
相关文章推荐
- Grunt那些事
- mybatis 的if else
- MFC编程实例二:进度条的使用
- redis配置文件不生效
- SCI与EI收录的外文期刊(计算机类)
- Android:那些好用的开源库
- 【JavaScript】常用方法
- 文章标题mysql 命令小记
- Android:自定义简洁dialog
- 开源项目管理平台*redmine*的架设
- 离职之感
- linux MTU过大导致无法远程top,vi等操作
- 『linux』解决chrome/chromium提示could't load plugin,无法播放视频问题
- android实现弹窗的方式汇总
- 【Android新手笔记三】listview
- 国外计算机核心期刊
- 布局与控件(五)-Toast吐司与布局的抽象标签merge include ViewStub
- C# in depth学习(1)
- Android 高级UI设计笔记17:Android在非UI线程中显示Toast
- Android可适配不规则tab的PageIndicator