乐趣区

关于c:喝饮料问题饮料价格1元瓶两瓶饮料空瓶可以重新兑换一瓶饮料问20元可以喝多少瓶饮料

办法 1:

int main()// 办法一
{
    int money = 0;// 手上的钱,即用钱买回来的汽水数量
    int total = 0;// 买的 + 兑的
    int empty = 0;// 手里的空瓶
    scanf_s("%d", &money);
    int sum = totalsum(money);
    printf("sum=%d\n", sum);
    total = money;// 用钱买回来的汽水数量
    empty = money;// 喝完用钱买的汽水后手里的空瓶数量
    while (empty>=2)// 只有空瓶不低于两瓶就能够换汽水
    {
        total += empty / 2;
        empty = empty / 2 + empty % 2;// 空瓶的数量为换回来的空瓶 + 手里余下的空瓶
    }
    printf("total=%d\n", total);
}

办法 2:

 办法 2,因为两个空瓶换一瓶饮料,一瓶饮料 1 块钱,相当于 1 个空瓶等于 0.5 元,20 块钱能够换 40 个空瓶,相当于喝了 40 瓶汽水,但因为最初手里留了一个空瓶,所以只能换来 39 个空瓶,即喝了 39 瓶汽水
int totalsum(int money)
{
    int sum = 0;
    if (money== 0)// 手里没钱就不能喝饮料
    {return 0;}
    else
    {
        sum = money * 2 - 1;
        return sum;
    }
    
//}
退出移动版