当前位置:编程学习 > C#/ASP.NET >>

C#中for语言,我经常遇到的一个问题

学习C#没多久,但是经常在输出的时候,会出现一个问题:输出结果中,总是没法显示第一个数。 比如猴子吃桃问题,猴子第一天吃了摘来的桃子的一半多一个,第二天吃了剩下的一半多一个,第十天吃的时候发现桃子还剩一个。 我的做法:


            Console.WriteLine("猴子吃桃");

            int i, j = 1;
            int sum=0;
            Console.WriteLine("从第九天到一天吃前的桃子是:");
            for (i = 1; i <10; i++)
            {
                sum += j;
                j = 2 * j + 2;
                Console.Write("{0}\t",j);              
            }
            Console.WriteLine();
            Console.WriteLine("猴子第一天总共摘了{0}个桃子",sum);

 

输出的结果是: 第十天吃前是1个。但是结果中,我总是没办法让它自己显示

高手帮忙,谢谢

 

补充:呵呵,我算错了。好丢人。
追问:貌似搭不上边吧。。。。。。加个等待输入符,跟程序自动显示那个1没关系吧。

你再看看

答案: 

加一句话  Console.Read();,让屏幕等待:

完整的,正确的代码:

 

 

 

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace t1
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine("猴子吃桃");

         int i, j = 1;
         int sum = 0;
         Console.WriteLine("从第九天到一天吃前的桃子是:");
         for (i = 1; i < 10; i++)
         {
            sum += j;
            j = 2 * j + 2;
            Console.Write("{0}\t", j);
         }
         Console.WriteLine();
         Console.WriteLine("猴子第一天总共摘了{0}个桃子", sum);

         Console.Read();

      }
   }
}

你的顺序不对,,,sum+= j;应该放在j = 2 * j + 2;后面啊。。。。

for (i = 1; i <10; i++)
            {

                j = 2 * j + 2;
                sum += j;
                Console.Write("{0}\t",j);              
            }

上一个:哪里可以下载c#,java视频?
下一个:C# .net IO 文件编码解码问题,求教1

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,