解题思路:
每次换购的瓶子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 人评分
【求帮助】C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:772 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:310 |
C二级辅导-分段函数 (C语言代码)浏览:553 |
不知道哪里错了浏览:1104 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:580 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:453 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:502 |
输出正反三角形 (C语言代码)浏览:756 |
wu-淘淘的名单 (C++代码)浏览:1298 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:611 |