天天看点

用C#实现的一道公务员考题

某人有15个空啤酒瓶,已知4个啤酒瓶可以换一瓶啤酒,问一共可以换多少瓶瓶酒。
答案是5瓶,因为最后剩余三个可以找老板借一个空瓶,等喝完后还给老板。
前天的C#课上,想到用C#编写。
实现如下。 
   
  
//
  design by superdont
  //
  lilizong[at]gmail
  
  using
   System;
  class
   Doloop
  ...
  {
    public static void Main()
    ...{
        int[] a =new int[10];
        //用于存放当前的空酒瓶个数
        int[] b = new int[10];
        //用于存放可以换取的酒的瓶数
        int[] c = new int[10];
        //用于存放每次换取后,剩余的不足4个的酒瓶个数
        a[0] = 15;
        int sum = 0;
        int i;
        for (i = 0; i < 10; i++)
        ...{
            b[i] = a[i] / 4;
            c[i] = a[i] % 4;
            a[i + 1] = c[i] + b[i];
            if (a[i + 1] <= 3)
            ...{
                if (a[i + 1] == 3)
                    b[i+1] = 1;
                    //如果最后剩余三个,可以找老板借一个空瓶,多换一瓶啤酒
                break;
            }

        }

        for (i = 0; i < 10; i++)
        ...{
            Console.Write("    {0}", a[i]);
        }
        Console.WriteLine();
        for (i = 0; i < 10; i++)
            Console.Write("    {0}", b[i]);
        Console.WriteLine();
        for (i = 0; i < 10; i++)
            Console.Write("    {0}", c[i]);
        for (i = 0; i < 10; i++)
            sum = sum + b[i];
            //求各次累计的和,即为总计可以换取的瓶数
        Console.WriteLine();
        Console.WriteLine("可以换取的啤酒评述为:");
        Console.WriteLine(sum);


    }




}