请看注释
static void Main(string[] args)
        {
            double balance, interestRate, targetBalance;
            Console.WriteLine("你目前的存款是?");
            balance = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("你目前的银行利率是?");
            interestRate = 1 + Convert.ToDouble(Console.ReadLine()) / 100.0;
            Console.WriteLine("你的目标存款是?");
            targetBalance = Convert.ToDouble(Console.ReadLine());            int totalYears = 0;
            do
            {
                balance *= interestRate; // 就是这句有些不明白, 运行这段程序以后,按理说不管balance的值是否大于targetBalance,
                                              //  都应该执行一次的,可是为什么当banlance小于targetBanlance的时候结果不一样呢
                ++totalYears;
            }
            while (balance < targetBalance);
            Console.WriteLine("In {0} year{1} you'll have a balance of {2}.", totalYears, totalYears > 1 ? "s" : "", balance);
            Console.ReadKey();
        }