谁能详细解释下这个VB程序代码?

来源:百度知道 编辑:UC知道 时间:2024/06/23 09:25:18
Private Sub Form_Click()
For n = 101 To 300 Step 2
k = Int(Sqr(n))
i = 2
swit = 0
While i <= k And swit = 0
If n Mod i = 0 Then
swit = 1
Else
i = i + 1
End If
Wend
If swit = 0 Then
d = d + 1
If d Mod 5 = 0 Then
Print n; "";
Print
Else
Print n; "";
End If
End If
Next n
End Sub

其中If swit = 0 Then
d = d + 1
If d Mod 5 = 0 Then
Print n; "";
Print
Else
Print n; "";
End If
End If
是什么意思?说是在输出素数时,按5个数一行输出。怎么理解?d是什么东西?
If d Mod 5 = 0 Then
Print n; "";
Print
Else
Print n; "";中
Print n; "";
Print 是什么东西?
第2个Print 怎么理解?
If swit = 0 Then
d = d + 1
If d Mod 5 = 0 Then
Print n; "";
Print
Else
Print n; "";
End If
End If中的
Else
print n;"";

Private Sub Form_Click()
For n = 101 To 300 Step 2 '查找素数的范围为100-300,这里步进为2,因为偶数不是素数,不对偶数判断可以提高程序的效率
k = Int(Sqr(n)) '对要判断的整数开平方Sqr(n),并取整
i = 2
swit = 0 '初始化变量swit
While i <= k And swit = 0
If n Mod i = 0 Then '如果n整除i(i为2到n的开平方之间的数)余数为0
swit = 1 '则n不是素数,swit=1
Else
i = i + 1
End If
Wend
If swit = 0 Then '当swit=0,则n是素数,则:
d = d + 1 '此处的d是统计素数个数的变量,自增1
If d Mod 5 = 0 Then '如果d整除5而余数为0,也就是说d刚好是5的倍数
Print n; ""; 'print后面用";"结尾,表示下一次打印时接着在原来的行打印
Print '此处的print不带任何参数,是打印一个新的空行,相当于给上一行一个回车
Else
Print n; ""; '如果d不是5的倍数,则下一次仍在本行打印
End If
End If
Next n
End Sub

是什么意思?说是在输出素数时,按5个数一行输出。怎么理解?d是什么东西?

计数的 计的素数的个数

Print 是什么东西?
第2个Print 怎么理解?

换行

其中If swit = 0 Then
d = d + 1
If d Mod 5 = 0 Then
Print n; "";
Print
Else<