解题思路:
每次换购的瓶子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语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:908 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:586 |
Tom数 (C语言代码)浏览:749 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:647 |
整除问题 (C语言代码)浏览:582 |
C二级辅导-统计字符 (C语言代码)浏览:689 |
字符逆序 (C语言代码)浏览:533 |
printf基础练习 (C语言代码)浏览:1960 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:523 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:612 |