本程序应先找出变量间的关系,这样就基本上没有什么问题了。另外,要明确第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)
1.8.4 情景应用4——阳阳买苹果
视频讲解:光盘\mr\lx\01\阳阳买苹果.exe
实例位置:光盘\mr\01\qjyy\04
阳阳买苹果,每个苹果0.8元,第1天她买两个苹果,第2天开始每天买前一天的2倍,直到购买的苹果个数达到不超过100的最大值,编程求阳阳每天平均花多少钱。
程序运行结果如图1.38所示。
解决本实例首先来分析题目要求,假设每天购买的苹果数为n,花的钱数总和为money,那么money和n之间的关系可以通过一个等式来说明,即money=money+0.8*n,它的具体含义是截止到目前所花的钱数等于今天所购买的苹果花的钱数与之前所花的钱数的总和。这里应注意n的变化,n初值应为2,随着天数每天增加(day++),n值随之变化,即n=n*2,以上过程应在while循环体中进行,那么什么才是这个while语句结束的条件呢?根据题意可知为“购买的苹果个数应是不超过100的最大值”,那么很明显n的值是否小于100就是判断这个while语句是否执行的条件。
实现过程如下:
(1)创建一个C文件。
(2)引用头文件。
#include <stdio.h>
(3)定义变量n、day为基本整型并赋初值分别为2和0,定义变量money、ave为单精度型,并给money赋初值为0。
(4)使用while语句实现每天所买苹果钱数的累加和天数自加以及每天所买苹果数的变化。
(5)求出平均数并将其输出。
(6)主要程序代码如下: