求帮检查vb二级考试的一道题
题目看图PrivateFunctionIsPrime(ByValxAsInteger)AsBooleanDimiAsIntegerIsPrime=FalseIfx=1Th...
题目看图
Private Function IsPrime(ByVal x As Integer) As Boolean
Dim i As Integer
IsPrime = False
If x = 1 Then Exit Function
For i = 2 To Sqr(x)
If x Mod i = 0 Then
Exit Function
End If
Next
IsPrime = True
End Function
Private Sub Command1_Click()
'考生编写程序开始
'======================================
'=========================================
'考生编写程序结束
Open App.Path & "\out5.dat" For Output As #1
Print #1, Text1.Text, Label1.Caption, Label2.Caption
Close #1
End Sub
给的答案是
For i = 1 To Val(Text1.Text)
If IsPrime(i) And IsPrime(Val(Text1.Text) - i) Then
Label1 = i
Label2 = Val(Text1.Text) - i
Exit For
End If
Next i
我的答案是
Dim a As Integer
Dim b As Integer
Dim c As Integer
c = Val(Text1.Text)
For a = 2 To c
If IsPrime(a) = True Then
b = c - a
If IsPrime(b) = True Then
Exit For
End If
End If
Next
Label1.Caption = a
Label2.Caption = b
我的程序和标准答案算出的结果一样,可考试软件(未来教育)判为0分,为什么? 展开
Private Function IsPrime(ByVal x As Integer) As Boolean
Dim i As Integer
IsPrime = False
If x = 1 Then Exit Function
For i = 2 To Sqr(x)
If x Mod i = 0 Then
Exit Function
End If
Next
IsPrime = True
End Function
Private Sub Command1_Click()
'考生编写程序开始
'======================================
'=========================================
'考生编写程序结束
Open App.Path & "\out5.dat" For Output As #1
Print #1, Text1.Text, Label1.Caption, Label2.Caption
Close #1
End Sub
给的答案是
For i = 1 To Val(Text1.Text)
If IsPrime(i) And IsPrime(Val(Text1.Text) - i) Then
Label1 = i
Label2 = Val(Text1.Text) - i
Exit For
End If
Next i
我的答案是
Dim a As Integer
Dim b As Integer
Dim c As Integer
c = Val(Text1.Text)
For a = 2 To c
If IsPrime(a) = True Then
b = c - a
If IsPrime(b) = True Then
Exit For
End If
End If
Next
Label1.Caption = a
Label2.Caption = b
我的程序和标准答案算出的结果一样,可考试软件(未来教育)判为0分,为什么? 展开
1个回答
展开全部
Dim a As Integer
Dim b As Integer
Dim c As Integer
c = Val(Text1.Text)
For a = 2 To c
If IsPrime(a) = True Then
b = c - a
If IsPrime(b) = True Then
Label1.Caption = a '把这两句写这里试试 只有满足条件才显示
Label2.Caption = b
Exit For
End If
End If
Next
更多追问追答
追问
我试了,还是0分。按你说的地方我也试过。我编的程序算出来的结果是正确的,是不是软件的问题?真正考试的时候这种题是怎么改分的?还有我的程序在这道题里,人工改卷不错吧
追答
人工改 当然不会错 程序不会变通~
其实你可以 一点点修改 每修改一步让程序批改 看这个软件的规则是什么样的
第一次:比如答案里 没有多余的定义 你就把你自己的三个dim 去掉
第二次:去掉多余的变量c 直接用text1值
第三次:去掉多余的b 直接 text1-a
第四次:两个if 改一个
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询