最低价买书
设计思想:先列举出买从1~10本时最低价的搭配方法,找到规律;1~5本就是买不同的卷最低价,6本时是5+1;7本时是5+2;9本时是5+4;10本时是5+5;但在第八本时是4+4本;由此可以用要买的书的数量除8看余数。
代码实现:
#include<iostream> using namespace std; void main() { int num,n,m; cout << "请输入要买的书的数量:" << endl; cin >> num; n = num / 10; m = num % 10; switch (m) { case 0: cout << "应该买" << 2 * n << "套不同的5卷" << "最低价为" << 2 * n * 30<< endl; break; case 1: cout << "应该买" << 2 * n << "套不同的5卷和一套不同的1卷" << "最低价为" << 2 * n * 30 + 8 << endl; break; case 2: cout << "应该买" << 2 * n << "套不同的5卷和一套不同的2卷" << "最低价为" << 2 * n * 30 + 15.2 << endl; break; case 3: cout << "应该买" << 2 * n << "套不同的5卷和一套不同的3卷" << "最低价为" << 2 * n * 30 + 21.6 << endl; break; case 4: cout << "应该买" << 2 * n << "套不同的5卷和一套不同的4卷" << "最低价为" << 2 * n * 30 + 25.6 << endl; break; case 5: cout << "应该买" << 2 * n + 1 << "套不同的5卷" << "最低价为" << (2 * n + 1) * 30 << endl; break; case 6: cout << "应该买" << 2 * n + 1 << "套不同的5卷和一套不同的1卷" << "最低价为" << (2 * n + 1) * 30 + 8 << endl; break; case 7: cout << "应该买" << 2 * n + 1 << "套不同的5卷和一套不同的2卷" << "最低价为" << (2 * n + 1) * 30 + 15.2 << endl; break; case 9: cout << "应该买" << 2 * n + 1 << "套不同的5卷和一套不同的4卷" << "最低价为" << (2 * n + 1) * 30 + 25.6 << endl; break; case 8: cout << "应该买" << 2 * n << "套不同的5卷和2套不同的4卷" << "最低价为:" << 2 * n * 30 + 51.2 << endl; break; } }
实验截图:
实验总结:这次程序也可以用if else语句。但我选择了switch case语句,原因的我对switch不是很熟悉,所以想加强我不熟悉的方面。