一.设计思路:
1.当N<5时,就按折扣价来算
2.当N>5时,把用户要买的书籍本数除以5来取余,再用余数加上5来单独考虑要买6、7、8、9本时的情况,最后求出折扣最多的情况。以下为这几种情况时的购书价格:
当购书数量为6时,优惠方案为1+5,总价为:38;
当购书数量为7时,优惠方案为2+5,总价为:45.2;
当购书数量为8时,优惠方案为4+4,总价为:51.2;
当购书数量为9时,优惠方案为4+5,总价为:55.6;
二.源代码
import java.util.Scanner; public class GouShu { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(System.in); System.out.println("请输入买书数量:"); int num=input.nextInt(); int m,n; double money = 0; m=num%5; n=num/5; switch(m) { case 0: money=n*30; break; case 1: money=n*30+8; break; case 2: money=n*30+2*8*0.95; break; case 3: if(n==0) { money=3*8*0.9; break; } else { money=(n-1)*30+4*8*0.8*2; break; } case 4: money=n*30+4*8*0.8; break; } System.out.println("最低价格为"+money+"元"); } }
三.结果截图
四.个人总结
这道题的代码很简单,但是思路很重要。