码迷,mamicode.com
首页 > 其他好文 > 详细

喝啤酒问题

时间:2016-04-30 12:41:37      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

市场上某啤搞活动,每瓶2元,4个瓶盖可以兑换一瓶啤酒,两个空啤也可兑换一瓶啤酒。完成输入钱数,最多可以喝多少瓶?

 1 #include<stdio.h>
 2 
 3 void main()
 4 {
 5      int money,bottle_top,empty_bottle0,empty_bottle;
 6      int bottle=0;//防止非正常输出
 7 
 8     printf("请输入钱数:\n");
 9      scanf("%d",&money);
10      if(money<2)
11      printf("您的钱数购买不了商品!\n");
12      else
13      bottle=money/2;
14      bottle_top=money/2;
15      empty_bottle=money/2;
16      while((empty_bottle>=2)||(bottle_top>=4))//先换“酒瓶”,再换“酒盖”
17      {
18                                       
19           bottle=bottle+empty_bottle/2;//拿啤酒瓶换啤酒盖;啤机瓶-》啤酒-》啤酒盖+啤酒瓶,可以兑换啤酒最大数
20           bottle_top=bottle_top+empty_bottle/2;//瓶酒瓶兑换产生啤酒盖数加上原来所剩下来的啤酒盖数
21           empty_bottle=empty_bottle%2+empty_bottle/2;//瓶酒瓶兑换产生啤酒瓶数加上原来所剩下来的啤酒瓶数
22 
23           bottle=bottle+bottle_top/4;//拿啤酒盖换啤酒瓶;啤酒盖-》啤酒-》啤酒瓶+啤酒盖,可以兑换啤酒最大数
24           empty_bottle=empty_bottle+bottle_top/4;//瓶酒盖兑换产生啤酒瓶数加上原来所剩下来的啤酒瓶数
25           bottle_top=bottle_top%4+bottle_top/4;//瓶酒盖兑换产生啤酒盖数加上原来剩余的啤机盖数
26          
27      }
28      printf("您可以喝%d瓶啤酒!",bottle);
29      printf("兑换所剩下空瓶数:%d!\n",empty_bottle);
30      printf("兑换所剩下空瓶盖数:%d!\n",bottle_top);
31 }

打印结果:

请输入钱数:
8
您可以喝11瓶啤酒!兑换所剩下空瓶数:1!
兑换所剩下空瓶盖数:3!
Press any key to continue

 

喝啤酒问题

标签:

原文地址:http://www.cnblogs.com/wxdjss/p/5448470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!