1.8.3 情景应用3--猴子吃桃
视频讲解:光盘\mr\lx\01\猴子吃桃.exe
实例位置:光盘\mr\01\qjyy\03
猴子吃桃问题:猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。编写程序求第一天共摘了多少桃子。程序运行效果如图1.37所示。
|
| 图1.37 程序运行效果 |
本程序应先找出变量间的关系,这样就基本上没有什么问题了。另外,要明确第1天桃子数和第2天桃子数之间的关系,即第2天桃子数加1的2倍等于第一天的桃子数。
实现过程如下:
(1)创建一个C文件。
(2)引用头文件。
- #include <stdio.h>
(3)定义day、x1、x2为基本整型,并为day、x2赋初值9和1。
(4)使用while语句从后向前推出第一天摘的桃子数。
(5)将最终求出的结果输出。
(6)主要程序代码如下:
- main()
- {
- int day,x1,x2; /*定
义day、x1、x2 3个变量为基本整型*/ - day=9;
- x2=1;
- while(day>0)
- {
- x1=(x2+1)*2; /*第1
天的桃子数是第2天桃子数加1后的2倍*/ - x2=x1;
- day--; /*因为从后向前推天数递减*/
- }
- printf("the total is %d\n",x1); /*输出桃子的总数*/
- }
DIY:在屏幕上输出3行"*",每行3个。提示:使用循环语句。(25分)(实例位置:光盘\mr\01\qjyy\03_diy)