C语言编程《1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水》

C语言编程《1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水》

    • 1.喝汽水编程思路
    • 2.代码编写


1.喝汽水编程思路

(1)首先是用现有的钱购买汽水,一共是20元,所以第一次是有20瓶汽水,即有20个空瓶。
(2)这20个空瓶进行兑换,能够得到新的10瓶汽水。即有10个空瓶。
(3)再将这10个空瓶进行兑换,又能得到新的5瓶汽水,即有5个空瓶。
(4)现在问题是五个空瓶只能换2瓶新汽水,剩余1个空瓶(不算新换的2个空瓶)。这两瓶喝完又可以兑换1瓶汽水,这1瓶汽水喝完和上次剩余的1个空瓶结合又可以兑换1瓶汽水。

因此换到最后一共是:20+10+5+2+1+1=39瓶汽水。


2.代码编写

代码如下(示例):

#include
#include
#pragma warning (disable:4996)
//喝汽水问题
int buy_Soda(int money){
	int count = money;//买到的汽水数量
	int newExchangeCount=1;//新换的汽水数量
	int newExchangeCountResidue;//新换剩余的空瓶子数量
	while (newExchangeCount != 0){
		newExchangeCount = money / 2;//新换的汽水数量
		newExchangeCountResidue = money % 2;//新换的剩余空瓶子数量
		money = newExchangeCount + newExchangeCountResidue;//此时money就相当于用空瓶子换的汽水数量
		count = count + newExchangeCount;//总数量就是买到的数量+新换来的数量
	}
	return count;
}
int main()
{
	int money = 0;
	printf("请输入钱数:");
	scanf("%d",&money);
	int soda=buy_Soda(money);
	printf("可以喝到%d瓶汽水\n",soda);
	system("pause");
	return 0;
}

程序结果如下:
C语言编程《1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水》_第1张图片


你可能感兴趣的:(C语言,c语言,算法)