import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] input =new int[10];
        int tmp =0;
        for(int i =0;i<10;i++){
            tmp=in.nextInt();
            if(tmp==0){
                break;
            }
            input[i] = tmp;
        }
        for(int i =0;i<10;i++){
            if(input[i]!=0){
                System.out.println(input[i]/2);
            }
        }
    }
}

先上代码。这个问题的题目很长,但是只分2种情况:

  1. 满3空瓶→换1瓶喝掉→少2个瓶子;满2空瓶→借1瓶喝掉→换1瓶返还→少2个瓶子。
  2. 只有1个瓶子,不能换,也不能借着换。
    所以问题其实很简单,只需整除2便可得知有几次少了2个瓶子,也就是喝了几瓶。
    结合要求,输入<10个整数,输入0时代表停止输入,那么0就是终止输入和计算输出的边界条件。
    代码如上。