关于vb的一道题目

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:33:35
Private Sub Command1_Click()
Dim x As Integer, flag As Boolean
Dim i As Integer, j As Integer
x = InputBox("输入一格整数")
For i = 3 To x
flag = True
For j = 2 To i - 1
If (i Mod j) = 0 Then flag = False
Next j
If flag Then Print i
Next i
End Sub
这是求素数的一道题,我不明白里面flag的意思,还有If flag Then Print i 的意思。If flag是什么意思

flag 只是一个自己定义的变量,原英文意思是"标志".
在这里用来存储是否是素数的判断.程序中If (i Mod j) = 0 意思是i能被j整除,也就是说i不是素数(素数没有除1和自身以外的因子),因此有Then flag = False 给出不是素数的结论.
If flag Then Print i 就是把素数(flag=true)打印出来.

FLAG AS BOOLEAN 所以
FLAG = TRUE 或者 FALSE
IF FLAG THEN PRINT I
意思就是 如果 FLAG=TRUE 就 打印 I

Flag 是个标识的逻辑变量开始被赋值真,If (i Mod j) = 0 Then flag = False(其实j只要变到根号i就可以了) i被除了1和i-1的数整除了,Flag就等于假,而If flag Then Print i就不会输出i只有不能整除时flag没变则是真就输出i此时i是素数

If flag 是 假如是正确
因为刚刚开始定义 flag 就是True
只要第二个For循环中,flag 没有变,则就会执行Print 任务

If flag Then Print i 假如是正确,则窗体打印 i