标签:
实验题目:

、
设计思路:
这次的实验是目前做过最简单的,重点在于把特殊情况找出来,一开始简单的以为只要和五本组合就可以了,除五取余取整就可以了,后来经过课堂上的计算才知道重点在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