解题思路:看如下代码的注释
注意事项:我都写的那么详细了不给个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 人评分
人见人爱A+B (C语言代码)浏览:663 |
这可能是一个假的冒泡法浏览:1071 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1436 |
WU-蓝桥杯算法提高VIP-Quadratic Equation (C++代码)浏览:1808 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:645 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:590 |
矩阵乘方 (C语言代码)浏览:1079 |
DNA (C语言代码)浏览:798 |