郑州轻工业大学oj题解(c语言)1072: 青蛙爬井

已经连续很多天是十点后更文了,一方面是实在空不出来时间,一方面是有了想钻研的东西,不像以前那么无所事事了~


1072: 青蛙爬井

  • 题目描述
    有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口?
  • 输入
    输入3个正整数:high、up和down。
  • 输出
    输出一个整数,表示天数。输出单独占一行。
  • 参考代码:
#include
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这里没有写退出条件是因为我们要以爬出井口作为结束条件,故这里只用初值与加值便可

你可能感兴趣的:(郑州轻工业大学oj题解(c语言)1072: 青蛙爬井)