题目如图
代码如下
#include<stdio.h>
int quiD(int BN);
int main(){
int i=0,ps[10];
for(;i<=9;i++){
scanf("%d",&ps[i]);
if(ps[i]==0){
i--;
break;}
}
int drink,x=0;
for(;x<=i;x++){
int q=ps[x];
drink=quiD(q);
printf("%d->%d\n",q,drink);//quiD是求喝了多少的函数 BN是空瓶子数 DN是喝了的瓶子数
} }
int quiD(int BN){
int DN,z;
z=BN%3;
DN=BN/3;
if((DN+z)<=1)return DN;//DN+z是空瓶子总数
else if((DN+z)==2)return ++DN;
else DN+=quiD(DN+z);
return DN;
}
结果如下![图片说明]
最后一行莫名其妙多出一组数据不知道为啥?大一菜鸟,编程习惯不好请见谅