解题思路:
每次换购的瓶子a = bottle / 3
每次换购以后剩下的空瓶数为b
b= bottle / 3 + bottle % 3
以上两部进行循环
对a进行累加计数
用b来循环控制,并对b==2时候对累加器再加1
参考代码:
#include<stdio.h> int bottle_count(int bottle); int main() { int bottle, exchange_bottle[10],i = 0; scanf("%d",&bottle); while(bottle != 0) { exchange_bottle[i++] = bottle_count(bottle); scanf("%d",&bottle); } for(int j = 0 ; j < i ; j ++) { printf("%d\n",exchange_bottle[j]); } return 0; } int bottle_count(int bottle) { int havedrink = 0 , nowdrink; while(bottle > 1) { nowdrink = bottle / 3; //每次可以换购的数量 bottle = nowdrink + bottle % 3; //喝完后余下的空瓶 havedrink += nowdrink; //对换购的进行累加 if(bottle == 2) //如果还剩下两瓶再向店家要一瓶后喝完抵一瓶 { havedrink++; break; } } return havedrink; }
0.0分
1 人评分
点我有惊喜!你懂得!浏览:1274 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1544 |
printf基础练习2 (C语言代码)浏览:955 |
WU-链表数据求和操作 (C++代码)浏览:1382 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:672 |
母牛的故事 (C语言代码)浏览:1450 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |
核桃的数量 (C语言代码)浏览:893 |
1071题解浏览:584 |
IP判断 (C语言代码)浏览:592 |