1.8.4 情景应用4--阳阳买苹果
视频讲解:光盘\mr\lx\01\阳阳买苹果.exe
实例位置:光盘\mr\01\qjyy\04
阳阳买苹果,每个苹果0.8元,第1天她买两个苹果,第2天开始每天买前一天的2倍,直到购买的苹果个数达到不超过100的最大值,编程(www.cppentry.com)求阳阳每天平均花多少钱。
程序运行结果如图1.38所示。
|
| 图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)主要程序代码如下:
- main()
- {
- int n=2,day=0; /*定义n、day为基本整型*/
- float money=0,ave; /*定义money、ave为单精度型*/
- while(n<100) /*苹果
个数不超过100,故while中表达式n小于100*/ - {
- money+=0.8*n; /*将每天花的钱数累加求和*/
- day++; /*天数自加*/
- n*=2; /*每天买前一天个数的2倍*/
- }
- ave=money/day; /*求出平均每天花的钱数*/
- printf("The result is %.6f\n",ave); /*将求出的ave输出*/
- }
DIY:定义两个变量,为其赋值,并交换其值。(25分)(实例位置:光盘\mr\01\qjyy\04_diy)
情景应用DIY栏目分数统计:
|
DIY题目< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
1 |
2 |
3 |
4 |
总分数 |
|
|
分数 |
|
|
|
|