死宅BALBALBA的奇妙冒险(1)——C语的顺序与分支

随着剧情逐渐的展开,(实际上是因为帮了美人鱼小鱼小姐的忙)村子里一致决定要好好“提升”一下BALBALBA这个废物死宅,要他无论如何也要学会如何根据不同的条件来进行选择。
(点开链接做题!做题!做题!重要的事情说三遍,下面是笔者过的程序,仅供参考)
为了“提升”BALBALBA这个废物,村长让他去看看这几个博客
这个顺序、分支结构理解
那个又基础还配图又全的
还有这个看上去挺不错的
之后村长就要BALBALBA去帮小玉家去算算电费,考核一下BALBALBA的知识有没有过关
小玉家的电费
存个万能头文件#include

#include
#include
using namespace std;
int main()
{
    double eletric,money;
    cin>>eletric;//输入电量
    if(eletric<=150)	
        money=eletric*0.4463;//电量少于150KWh时的电费
    if(eletric>150&&eletric<=400)	
        money=150*0.4463+(eletric-150)*0.4663;//电量多于150KWh,少于400KWh时的电费
    if(eletric>400)		
        money=150*0.4463+250*0.4663+(eletric-400)*0.5663;//电量多于400KWh时的电费
    printf("%.1lf",money);//保留小数点1位
    printf("\n");//换行
    return 0;
}//简单直接分情况就好了

在那之后,过了不久,在村长的安排下,超级妈妈也来”委托“这个死宅,帮帮自己刚上初中的儿子JJ,让BALBALBA看看JJ哪天不开心了通知自己,让妈妈随时准备好平底锅。
不高兴的津津

#include
#include
#include
using namespace std;
int main ()
{
    int a,b,s,max=0,i,day=0;  //a,b是JJ每天上课的时间,s是sum是上课时间之和 
    for (i=1;i<8;i++)   // 题目给了,day数字计算星期几,故day是JJ一周最不高兴的一天 
      {
        cin>>a>>b;
        s=a+b; 
        if (s>max&&s>8) 
        max=s,day=i;//在超过8小时(最初设定是8小时)且比之前几天都大(根据数据,会变大)的s时,将s赋给最大值,并记录下JJ不高兴的这天,让妈妈准备好平底锅 
      }
    cout<<day<<endl; //由于day初值是0,所以如果JJ一周都开心就输出0 
    return 0;             
}

之后,超级妈妈觉得BALBALBA这个死宅还挺靠谱的,在村长的授意下,要他来“帮忙管管”JJ这个工具人的零花钱;算算JJ一年下来最后还剩多少钱。
津津的储蓄计划

#include
using namespace std;
int main()
{	
    int deposit=0,balance=0;
	int budget;
	for(int i=1;i<=12;i++)
	{
		balance+=300;//每个月妈妈给300零花钱....真好(T.T)
		cin>>budget;//输入预算
		balance-=budget;//余下的钱
		if (balance<0){
			cout<<"-"<<i;break;//花销>钱袋里的钱,就变负号
		}			
		deposit+=balance/100;  //对余额以100进行取整,存入给妈妈的存款中
		balance%=100;  //对余额以100进行取余
		if (i==12)
			cout<<deposit*120+balance<<endl;
	}
	return 0;
}

这么刁难都没能难倒这个废物死宅,于是P老师决定让BALBALBA替他去买铅笔,那么这个死宅,他,能顺利解决吗?
买铅笔

#include 
int main()//超级萌新解法,绝对看得懂系列
{
   int n,a1,a2,b1,b2,c1,c2,a,b,c,z;
   scanf("%d",&n);//n是要买铅笔的数量
   scanf("%d %d",&a1,&a2);//a1是数量,a2是价格
   scanf("%d %d",&b1,&b2);
   scanf("%d %d",&c1,&c2);
   a=n/a1;a1=n%a1==0?a:a+1;a=a1*a2;
   b=n/b1;b1=n%b1==0?b:b+1;b=b1*b2;
   c=n/c1;c1=n%c1==0?c:c+1;c=c1*c2;//第一和第二表达式求至少需要买的铅笔包数,第三给表达式表示总共需要的价格
   if(a<b&&a<c)z=a;
   if(b<a&&b<c)z=b;
   if(c<b&&c<a)z=c;
   printf("%d\n",z);//取最省钱的方案,赋值给z
   return 0;
}//是不是一目了然,通俗易懂?这个解法个人觉得挺有趣的
#include
#include
using namespace std;
int n,shu1,shu2,shu3,jg1,jg2,jg3,a,b,c,min;
int main()
{
   scanf("%d",&n);
   scanf("%d%d%d%d%d%d",&shu1,&jg1,&shu2,&jg2,&shu3,&jg3);
   a=ceil(n*1.0/shu1)*jg1;
   b=ceil(n*1.0/shu2)*jg2;
   c=ceil(n*1.0/shu3)*jg3;//ceil函数,这下面有个传送门,看看就懂了
   min=a;
   if(b<min)
   min=b;
   if(c<min)
   min=c;//比较来找最少最省钱的方案
   printf("%d",min);
   return 0;
}

终于,在解决了一连串的难题之后,BALBALBA终于可以休息了,不论起因如何,虽然过程艰难,但是他明白,他终于开始从那个只会scanf和printf的废物开始转变了,开始向未来迈步了!
——————————————
代码里说过的小传送门来了
ceil函数传送门
这也是ceil函数传送门
这还是ceil函数传送门(带对比的)
还看不懂,记得ceil(n)向上取整, 取大于等于数值n的最小整数就好。

你可能感兴趣的:(死宅的奇妙冒险)