我正在处理作业问题,并且询问此代码在控制台中显示“消息”一词的次数。 我不明白如何解决这个问题。
For i As Integer = 1 To 10 Step 1
For j As Integer = i To 10 Step 1
Console.WriteLine("Message")
Next
Next
答案 0 :(得分:1)
外循环执行34次,因为它从1开始并且每次在34处增加1,因为第35次迭代将超过34的循环上限。
内循环执行39次,因为它从1开始并每次递增2(1
,3
,5
,7
等),当值大于78时停止,但由于第40次迭代将等于79的值,大于78,它将不执行第40次迭代。
34次39 = 1,326,因此您将在控制台中看到消息Message
写入1,326次。
一般而言,您可以将其分解为:
i *(j / 2)
其中i
等于外循环迭代(34),j
等于内循环迭代(78/2 = 39)。
答案 1 :(得分:1)
正如其他答案所示,迭代次数为34 *(78/2)= 1326.为了更多地了解正在发生的事情,我建议您编写如下代码并观察值如何i,j,k更改 - 这里K显示当前的迭代次数 - 特别注意最后一行:
Dim k As Integer = 1
For i As Integer = 1 To 34
For j As Integer = 1 To 78 Step 2
Console.WriteLine("Message" & " i:" & i.ToString() & " j:" & j.ToString() & " k:" & k.ToString())
k += 1
Next
Next
您将看到如下输出:
Message i:1 j:1 k:1
Message i:1 j:3 k:2
Message i:1 j:5 k:3
Message i:1 j:7 k:4
Message i:1 j:9 k:5
...
Message i:34 j:75 k:1325
Message i:34 j:77 k:1326
答案 2 :(得分:0)
1326次
内循环迭代39次(78个数/ 2步),外循环迭代34次(34个数/ 1步)。外循环将迭代34次,每次内循环也将迭代。所以:
34个外循环迭代* 39个内循环迭代(每次)= 1326。