在for循环中加上随机生成的数字的总和

问题描述:

class Class1 
{ 

[STAThread] 
    static void Main(string[] args) 
    { 

    int lap, avg = 0; 
    double time = 0; 
    Random generator = new Random(); 
    time = generator.Next(5, 10); 


    for (lap = 1; lap <= 10; lap++) 

    { 

    time = (generator.NextDouble())* 10 + 1; 
    Console.WriteLine("Lap {0} with a lap time of {1} seconds!!!!"lap,time.ToString("##.00")); 

    }// end for 

    Console.WriteLine("The total time it took is {0}",time); 
        Console.WriteLine(); 
    Console.WriteLine(); 
    Console.WriteLine(); 
    Console.WriteLine("Slap the enter key to continue"); 
    Console.ReadLine(); 
    } 
} 
} 

我想教自己的c#,但是这个问题真的让我感到莫名其妙。我如何每次通过循环添加时间变量以获得所有十圈的总和?任何帮助,将不胜感激谢谢:)在for循环中加上随机生成的数字的总和

如果我没有得到你,你就需要引入新的变量,以保持总时间:

class Program 
{ 
    [STAThread] 
    static void Main(string[] args) 
    { 
     int lap, avg = 0; 

     Random generator = new Random(); 

     double time = generator.Next(5, 10); 
     double totalTime = 0.0; 

     for (lap = 1; lap <= 10; lap++) 
     { 
      time = (generator.NextDouble())* 10 + 1; 
      Console.WriteLine("Lap {0} with a lap time of {1:##.00} seconds!!!!", 
       lap, time); 

      totalTime += time; 
     } 

     Console.WriteLine("The total time it took is {0}", totalTime); 
     Console.WriteLine(); 
     Console.WriteLine(); 
     Console.WriteLine(); 
     Console.WriteLine("Slap the enter key to continue"); 
     Console.ReadLine(); 
    } 
} 
+0

这样简单的事情....非常感谢:) – Chris 2010-09-13 23:04:04

+0

对不起,试图使它很好,我也在编辑模式...我的坏但谢谢大家! – Chris 2010-09-13 23:05:00

+0

@Chris:通过单击问题左侧的向上箭头感谢SO,并通过单击最有帮助的问题旁边的复选标记来接受答案。 – 2010-09-13 23:07:14

您需要包括time在以前的价值你加成。

time = time + (generator.NextDouble())* 10 + 1;

time += (generator.NextDouble())* 10 + 1;

当然,这将导致你失去当前计算的随机数。因此,您应该创建另一个变量sumTime,它将存储所有time值的总和。

+0

这会让您在每次迭代> 1时错误的每圈时间。 – 2010-09-13 23:04:04

+0

正确。我编辑了我的解决方案,提到创建一个新变量将是一个好主意。像你的例子:) – linuxuser27 2010-09-13 23:09:59