问题描述
喝汽水问题
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。
问题分析
思路,关键在于买汽水的真正货币是钱和空瓶两种。
解决方案
解决方案:设置两个数组,代表两个钱包,
先用钱买汽水,结算空瓶数量,
钱花完后使用空瓶买汽水,结算空瓶数量,反复试验
代码
//喝汽水问题
//喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。
//思路,关键在于买汽水的真正货币是钱和空瓶两种。
//解决方案:设置两个数组,代表两个钱包,
//先用钱买汽水,结算空瓶数量,
//钱花完后使用瓶盖买汽水,结算空瓶数量,反复试验
#include<stdio.h>
int main()
{
int money = 20;
int bottol = 0;
int drink = 0;
while (money--) //用钱买饮料
{
bottol++;
drink++;
}
while ((bottol -= 2)>=2) //用空瓶买饮料
{
drink++;
bottol++;
}
printf("如果不能赊空瓶,则可以买%d瓶饮料。\n", drink);
if (bottol == 1)//如果可以赊一瓶饮料
{
drink++;
bottol = 0;
}
printf("如果能赊空瓶,则可以买%d瓶饮料。\n", drink);
return 0;
}