在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();
}
}
您需要包括time
在以前的价值你加成。
time = time + (generator.NextDouble())* 10 + 1;
或
time += (generator.NextDouble())* 10 + 1;
当然,这将导致你失去当前计算的随机数。因此,您应该创建另一个变量sumTime
,它将存储所有time
值的总和。
这会让您在每次迭代> 1时错误的每圈时间。 – 2010-09-13 23:04:04
正确。我编辑了我的解决方案,提到创建一个新变量将是一个好主意。像你的例子:) – linuxuser27 2010-09-13 23:09:59
这样简单的事情....非常感谢:) – Chris 2010-09-13 23:04:04
对不起,试图使它很好,我也在编辑模式...我的坏但谢谢大家! – Chris 2010-09-13 23:05:00
@Chris:通过单击问题左侧的向上箭头感谢SO,并通过单击最有帮助的问题旁边的复选标记来接受答案。 – 2010-09-13 23:07:14