读书人

while循环有关问题

发布时间: 2012-08-08 14:32:45 作者: rapoo

while循环问题
class average
{
public static void Main()
{
int ttl = 0; //variable to store the running total
int nbr = 0; //variable for individual numbers
int ctr = 0; //counter

System.Random rnd = new System.Random(); //random number

while (ctr < 10)
{
//Get random number
nbr = (int)rnd.Next(1, 11);
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr);
ttl += nbr; //add nbr to total
ctr++; //increment counter
}
System.Console.WriteLine("\nThe total of the {0} numbers is {1}", ctr, ttl);
System.Console.WriteLine("\nTHe average of the numbers is {0}",ttl/ctr);
}
}

当时ctr=0,条件满足循环,到System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr);ctr=1了,循环到ctr++; 时 ,ctr=2,条件满足,继续循环,到System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr)时,运行打印出:Number 2 is 4;
为什么(ctr+1)会是“2”?不是在第一次循环时,循环到ctr++时,ctr=2了吗??这样满足的话,到(ctr+1)不是“3”吗??
不明白哩~~~

[解决办法]
第一次循环
ctr = 0
bbr = 5
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr); 输出Number 1 is 5
ttl = 5
ctr++ 后= 1第二次循环

ctr = 1
bbr = 4
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr); 输出Number 2 is 4
ttl = 9
ctr++ 后 = 2

ctr = 2
bbr = 1
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr); 输出Number 3 is 1
ttl = 10
ctr++ 后 = 3



搂主看错了循环

读书人网 >C#

热点推荐