阳阳买苹果--C实现

原题:阳阳第一天买了两个苹果,一个苹果0.8元。从第二天开始,他每天购买前一天苹果数量的2倍,直到购买的苹果个数达到不超过100的最大值。编程求阳阳平均每天花多少钱?

编程思路:

假设阳阳每天购买苹果的数量为n个,花的钱的总数记为money , 由题意可以推导出公式:money = money + 0.8 * n,

这里表示之前买苹果花钱的总额加上今天花钱买苹果的总和,我们还应当注意一下n的变化,随着天数的增加,他每天购买的前一天苹果数量的2倍,随着天数的增加,这里我们将天数定义为day ,当day++时,n值是变化的,为n = n * 2 ,且n的初始化值应当为2,因为阳阳第一天就已经买了2个苹果。

上面的这个过程在循环中执行,那么什么是循环的结束条件呢?我们看到题目上写了,直到购买的苹果个数达到不超过100的最大值的时候,满足条件,循环退出。那这个条件如何推导?很简单,也就是n < 100 。

       这样,通过我们的while循环就可以计算出money的总和,也就是不超过100的花钱的总和,求出来之后,我们将money的总和去除以day天数,那么结果不就出来了吗?

写代码:

#include <stdio.h>

int main(void)
{
	int n = 2  , day = 0;  //n的初始化值为2
	float money = 0 , avg ;
	while(n < 100)         //条件,当n < 100的时候
	{
		money+=0.8*n ; //我们的总和根据money = money + 0.8 * n,这个公式计算</span>
		day++ ;        //让天数自加
		n*=2 ;	       //当day++时,n值是变化的,为n = n * 2 </span>
	} 	
	avg = money / day ;    //求平均数
	printf("%0.6f\n",avg); //输出平均值
	
	return 0 ;
}
运行结果:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值