课堂练习之求最划算的买法的价格

1.设计思想:

         按照比例,由题目可知:2本   便宜5%,3本  便宜10%,4本   便宜20%,5本   便宜25%。

        所以1~5本按照每册买一本来买最便宜;6~10本则要看情况计算,6本  按照5册加一本  也就是5*单价*(1-25%)+1*单价;7本则是  5*单价*(1-25%)+2*单价*(1-5%);8本 是4*单价*(1-20%)*2;9本 是4*单价*(1-20%)+5*单价*(1-25%);10本以上整数部分按套买,个数部分则和前面一样。

2,设计代码:

//最划算的买法的价格,王昭博。
#include <iostream>
using namespace std;

void main()
{
    int num,a,b;
    double sumprice;

    cout<<"请输入要买的书的本数:"<<endl;
    cin>>num;
    a=num/5;
    b=num%5;

    cout<<"最低价格为:";
    if(num<=5)
    {
		if(num==1)
		{
			sumprice=1;
		}
		else if(num==2)
		{
			sumprice=2*(1-0.05);
		}
		else if(num==3)
		{
			sumprice=3*(1-0.1);
		}
		else if(num==4)
		{
			sumprice=4*(1-0.2);
		}
		else if(num==5)
		{
			sumprice=5*(1-0.25) ;
		}
    }
    else
    {
        if(b==0)
        {
            sumprice=a*5*(1-0.25);
        }
        
        if(b==1)
        {
            sumprice=a*5*(1-0.25)+1;
        }

        if(b==2)
        {
            sumprice=a*5*(1-0.25)+2*(1-0.05);
        }

        if(b==3)
        {
            sumprice=(num-8)/5*5*(1-0.25)+4*2*(1-0.2);
        }

        if(b==4)
        {
            sumprice=a*5*(1-0.25)+4*(1-0.2);
        }
    }
    cout<<sumprice<<endl;
}

 3.结果截图:

4.总结:

      这次的课堂练习相对简单,关键是找到相似性,重复部分,这是代码可完成体现,如果连规律都找不到,那么这个代码就是不可能实现的。

原文地址:https://www.cnblogs.com/yuntianblog/p/4537126.html