已经连续很多天是十点后更文了,一方面是实在空不出来时间,一方面是有了想钻研的东西,不像以前那么无所事事了~
1072: 青蛙爬井
- 题目描述
有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口? - 输入
输入3个正整数:high、up和down。 - 输出
输出一个整数,表示天数。输出单独占一行。 - 参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int high, up, down;
int day, sum;
scanf("%d%d%d", &high, &up, &down);
day = 0;
sum = 0;
for(day = 1; ; day++)
{
sum += up;
if(sum >= high)
break;
sum -= down;
}
printf("%d\n", day);
return 0;
}
代码解析:
- 这里介绍一个关键字:break 代表退出这一操作。
通常用于嵌套于循环的if语句中。题目说要求青蛙爬出井口要多少天,每天爬up米,又会在晚上滑下down米,但我们知道,只要青蛙爬出了井口,就不会再在晚上滑下去了,所以我们,要在青蛙白天爬完后便用if判断其是否爬出了井口,如果爬出了就要用break退出整个循环。
for这里没有写退出条件是因为我们要以爬出井口作为结束条件,故这里只用初值与加值便可
网友评论