问题描述
有一口深度为h米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬m米,夜里则顺井壁向下滑n米,若青蛙从某个早晨开始向外爬,试编写一个函数:对于任意指定的hmn值(均为自然数),计算青蛙多少天能够爬出井口?
问题分析
可以设置两个变量:
1、sum代表青蛙爬的高度,白天加m,晚上减n,如果白天的时候加上m超过了或者等于了h,就代表已经爬出来了,跳出循环就行
2、day代表第n天
代码
因为问题比较简单,直接上代码:
#include "stdio.h"
int main()
{
int h,m,n,sum=0,day=0;
scanf("%d %d %d",&h,&m,&n);
while(1)
{
//新的一天开始
day++;
//白天爬m米
sum+=m;
if(sum>=h) break; //行程大于等于井高,表示已经爬出来了,结束循环
sum-=n; //白天没爬出来,晚上就滑n米
}
printf("青蛙经过了%d天,爬出了井",day);
}