legend


私信TA

用户名:dotcpp0599065

访问量:17479

签 名:

fish or cut baits

等  级
排  名 177
经  验 6839
参赛次数 0
文章发表 75
年  龄 0
在职情况 学生
学  校 黑龙江大学
专  业

  自我简介:

you can you up,no can don't bb

TA的其他文章

解题思路:看如下代码的注释

注意事项:我都写的那么详细了不给个5星好评?

参考代码:

#include<stdio.h>

int main()

{

    int a,b,c,d;

    int i;                                                           //2          12          3         2       这里以题目给的2 ,12 ,3,2为例子

    scanf("%d%d%d%d",&a,&b,&c,&d);//几个水果,多少元,租金,水果价格。

    int e;                                                          //a              b         c         d       这里是变量的注释,方便阅读

    e=b/c;                       //这里的作用是先得到所带的钱都花在房租的天数(即理想条件下),比如带了12块,房租是三块,则最多能满足不吃水果的情况旅游4天

    int count=0;             //这里count是旅游的天数。

    if(a>e)           //这里说的是如果带的水果个数大于全部把钱花在房租的天数时,则可理解为水果充足,不用买水果,把钱全花在房租即可,则旅游最大天数为4天

    {

        count=e;


    }

    if(a<e)                          //这里说的是如果水果带的不充足(其实为不理想的情况),则要考虑花钱在水果上了。

    {

        if(b>c)                              //首先如果带的钱带的钱都不够交房租的话count=0;退出if,如果大于房租的话进入if,

        {

          for(i=0;i<a;i++)                 //此处为不用交水果钱的情况,此时只用花费房租钱

         {

            b=b-c;

            if(b>=c)

            {

                count=count+1;                    //如果剩下的钱大于房租钱时,则继续

            }

            else                    //如果不够的话,直接退出if(既然这都退出if了自然下面的while也不会执行),所以直接到了输出阶段;

            {

                break;

            }


         }

            while(b>=c+d)    //此处为即为水果吃完的时候,要交水果钱(当然同时也要交房租),所以继续开始扣钱;(当然如果不够的话就不进入while)

           {


               b=b-d-c;

               count=count+1;

           }

        }



    }

    printf("%d",count);          //最后把最终天数给输出一下。

    return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »