[C语言]——喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,共有20元,请问可以喝多少瓶汽水?

问题描述:
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,共有20元,请问可以喝多少瓶汽水?

主要思路:

20块钱买20瓶汽水
20个瓶子换10瓶汽水
10个瓶子换5瓶汽水
5个瓶子换2瓶汽水
总共喝了20+10+5+2=37瓶汽水

代码实现:

#include "stdio.h"

int NumSoda(int m)
{
	int num=20/1,sum=0;//num当前所换汽水瓶数,sum喝的总数
	sum=num+sum;
	while(num!=2)
	/*注意:兑换汽水的最后一步是用五个瓶子换两瓶汽水,
	没有进入最后一次循环时num=5,
	运行完15行时,num=2,意味着当前情况下兑换了两瓶汽水,
	还剩一个瓶子,不满足题意中的两个瓶子换一瓶汽水,
	所以退出循环。
	*/
	{
		num=num/2;
		sum=num+sum;
	}
	printf("%d ",sum);
}

int main()
{
	int mony=20;
	NumSoda(mony);
	return 0;
} 

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值