c语言如何实现喝汽水问题

用c语言实现一个喝汽水的问题:

ps:每瓶汽水一元钱,喝完汽水后会有空瓶子,拿2个空瓶子可以换取一瓶新的汽水,依次往复,可以喝多少瓶汽水。如何用c语言实现这个程序:

第一种写法:

#include<stdio.h>
int main()
{
	int money = 0;//钱
	int toble = 0;//汽水
	int empty = 0;//空瓶子
	scanf("%d", &money);

	toble = money;//多少钱买多少汽水;所以一开始没赋值前汽水等于钱的数量
	empty = money;//一开始没有赋值的空瓶等于输入的钱的数量

	while (empty >= 2)//2个空瓶子才可以换
	{
		toble += empty / 2;//汽水等于加上空瓶子除以2
		empty = empty / 2 + empty% 2;//剩下的空瓶,加上次剩下得的空瓶得到新的空瓶,进行循环往复
	}

	printf("汽水为:%d\n", toble);
	return 0;
}

这个方法比较容易理解

第2种方法:

根据题目可以知道1块钱可以买一瓶,2个空瓶可以换一瓶,那么代表一个空瓶为5毛钱

#include<stdio.h>
int main()
{
	int money = 0;//钱
	int toble = 0;//汽水
	int empty = 0;//空瓶子
	scanf("%d", &money);

	if (money >= 0) //有钱才能喝
		toble = money * 2 - 1;//每次的空瓶会累加到上面,每换完一次可乐就多一,到最后一定会多一个空瓶无法兑换
	else
		printf("没钱\n");

	printf("汽水为:%d\n", toble);
	return 0;
}

这个方法比较高效。

  以上便是对这个题目的解答。希望我们可以在学习编程的路上携手共进,不要放弃,加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值