--------------------------------------------------------------------------------

     这是一个很容易出错的题;假如有20元,一共能喝sum瓶汽水,每两个空瓶可以换一瓶汽水;第一次可以买20瓶,则sum=20,此时剩下20个空瓶;用这20十个空瓶可以换10瓶汽水,此时sum=20+10;则又有十个空瓶,可以换5瓶汽水,此时,sum=20+10+5;注意此时5/2=2余下一个空瓶;记作count=1;此时sum=20+10+5=2;然后用这个两个空瓶又可以换一瓶,此时sum=20+10+5+2+1;当这一瓶喝完后,由于1/2=0;现在有的同学就说20元一共可以喝38瓶汽水。但你错了,之前还余了一个空瓶加上最后这个空瓶一共两个,可以再换一瓶,所以,最终结果是:sum=20+10+5+2+1+1=39瓶。另外,如果这最后两瓶喝完了再向老板借一个空瓶,然后又可以兑换一瓶,完了再将这个空瓶还给老板,此时sum=40,本程序不做此考虑。

--------------------------------------------------------------------------------


C语言源码为:

# include <stdio.h>
# include <stdlib.h>int main()
{int piece = 1;int money = 0;int sum = 0;int E_bottle = 0;int left = 0, ret = 0;              printf("请输入金额:");scanf("%d",&money);sum = money / piece;E_bottle = sum;while (E_bottle){E_bottle = E_bottle / 2;sum += E_bottle;if (E_bottle == 1){left++;               //1/2时余留一个空瓶}}E_bottle = money / piece;while (E_bottle){ret = E_bottle % 2;E_bottle = E_bottle / 2;if (ret == 1){left++;                //5/2是余一个空瓶}}sum += left / 2;printf("%d元最多可以喝:%d瓶汽水\n",money,sum);system("pause");return 0;
}

------------------------------------------------------------------------------------------

干货小知识:const修饰全局变量时,存储在只读区(代码段区),不能通过指针修改其值,const修饰

局部变量时,存储在栈区,可以通过指针修改其值,VS下会报出警告,一般情况下,我们不修改const修

饰的变量。

------------------------------------------------------------------------------------------

转载于:https://blog.51cto.com/814193594/1708918

每瓶汽水一元,两个空瓶可以置换一瓶汽水,现有N元,最多能喝多少瓶?相关推荐

  1. 15元钱一杯咖啡,喝完后两个空杯换一杯,问:你有100元钱,最多可以喝到几杯咖啡

    15元钱一杯咖啡,喝完后两个空杯换一杯,问:你有100元钱,最多可以喝到几杯咖啡 public static void main(String args[]){int count = 100/15; ...

  2. JavaScript 一元钱可以买一瓶水,两个空瓶可以换一瓶水,三个瓶盖可以换一瓶水,20块钱可以换多少瓶水。

    <script>// 一元钱可以买一瓶水,两个空瓶可以换一瓶水,三个瓶盖可以换一瓶水,20块钱可以换多少瓶水.function maiS(money) {var water = money ...

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

    C语言编程<1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水> 1.喝汽水编程思路 2.代码编写 1.喝汽水编程思路 (1)首先是用现有的钱购买汽水,一共是20元,所以第一 ...

  4. 现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢?

    问题描述:现在有N元钱,两块钱一瓶,或者直接给你N瓶酒,两个空瓶换一瓶酒,四个瓶盖换一瓶酒,问你最后可以喝多少瓶?如果能借酒呢? 解决思路1: N元钱,其实就是N/2瓶酒.所以我们在程序中直接使用N瓶 ...

  5. 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?(方法2)

    package com.zhiyou101; /*** 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?* @author Administrator**/pu ...

  6. JAVA2块钱瓶子_啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶。用java编程解出答案,求大神们帮忙...

    点击查看啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶,问:10元钱可以喝几瓶.用java编程解出答案,求大神们帮忙具体信息 答:package test;public class Test {publ ...

  7. * 3.喝啤酒问题,一瓶啤酒2元,两个空瓶子可以换一瓶啤酒,四个啤酒盖可以换一瓶啤酒,请问10元共可以喝多少瓶?

    package dh12_1111.IO.FIB;/*** @Description TODO* @Author 湖大知行李国勇* @Date 2022/11/11 10:07* 3.喝啤酒问题,一瓶 ...

  8. 每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒?

    <?echo "每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒.n元最多可喝多少瓶啤酒?<br/>";for ($i=0; $i<=100 ; $i++) ...

  9. 一块钱买一瓶水,两个空瓶换一瓶水,三个瓶盖换一瓶水,现在有20块钱,一共可以喝多少瓶水?

    /* ************************************************************************ > File Name: water.cp ...

最新文章

  1. fragment error
  2. oracle 01775,set Autotrace使用的问题与解决
  3. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母
  4. ajax请求可以延时吗,延时校验AJAX请求
  5. 返回一个整数数组中最大子数组的和。
  6. Lapsus$ 组织攻击很多大厂都在合作的软件咨询公司 Globant
  7. linux时间同步ntp服务的安装与配置
  8. python中类的创建_如何在python中为类动态创建类方法
  9. 使用永恒之蓝漏洞攻击电脑
  10. 中级职称考试 计算机 英语考试,中级职称工程师职称计算机考试需要考过哪些模块...
  11. Linux7(CentOs7.5)安装ssh、和修改ssh端口号
  12. 小程序上传大小限制问题解决
  13. html5考试总结300字,期中考试总结300字大全
  14. 【python基础】小练习③——华氏温度与摄氏温度转化
  15. ergonomic计算机专业英语,[听单词] 计算机专业英语词汇音频52,计算机英语单词MP3...
  16. 利用IDEA的远程debug进行远程代码调试。
  17. 互联网晚报 | 1月27日 星期四 | 微信推出“拜年红包”功能;快手推出蓝领招聘平台“快招工”;B站正式登陆PS5平台...
  18. C++中函数重载是如何实现
  19. openstack rdo_为什么我们在RDO中对OpenStack软件包构建使用测试
  20. 前端:你可能不知道的骨架屏方案设计

热门文章

  1. 引以为戒,特斯拉Kubernetes控制台被黑客攻击
  2. python魔法方法详解
  3. .NET中可空值类型实现原理
  4. 在jsp页面中实现格式化数字,百分比,货币
  5. DHCP企业应用指南
  6. MODE —— 输入一个数字,求从1加到该数的和(知识点:for循环嵌套while循环)
  7. 总结day11 ----函数的学习(2)
  8. JVM内存GC的骗局
  9. [linux]查看linux下端口占用
  10. Plist文件的创建与读写