实验题目:
、
设计思路:
这次的实验是目前做过最简单的,重点在于把特殊情况找出来,一开始简单的以为只要和五本组合就可以了,除五取余取整就可以了,后来经过课堂上的计算才知道重点在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; }
运行结果:
经验总结:
总是觉得编程难,这一次是很简单,但是又眼高手低,自以为是,很多时候动手算一算才知道对错。
时间: 2024-10-13 10:18:54