解题思路:看如下代码的注释
注意事项:我都写的那么详细了不给个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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复