猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下一个桃子了。编写程序求猴子第一天摘了多少个桃子。

实现过程:
(1) 定义 day、x1、x2 为基本整型,并为 day 和 x2 赋初值 9 和 1。

(2) 使用 while 语句由后向前推出第一天摘的桃子数。

(3) 输出结果。

(4) 程序代码如下:

#include <stdio.h>

int main(void) {
    int day, x1, x2;    //定义 day、x1、x2 3 个变董为基本整型
    day = 9;
    x2 = 1;
    while (day > 0) {
        x1 = (x2 + 1) * 2;    //第一天的桃子数是第二天桃子数加1后的2倍
        x2 = x1;
        day--;      //因为从后向前推所以天数递减
    }
    printf("一共是%d个桃子", x1);  //输出桃子的总数
    return 0;
}

输出结果:

一共是1534个桃子

技术要点:

本实例的思路基本上是先找出变量间的关系,也就是要明确第一天桃数和第二天桃子数之间的关系,即第二天桃子数加 1 的 2 倍等于第一天的桃子数。