用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;
}
这个方法比较高效。
以上便是对这个题目的解答。希望我们可以在学习编程的路上携手共进,不要放弃,加油。