vb高手帮忙看一下这个程序 那里错了 为什么总出现下标越界
循环、数组和过程综合程序设计利用随机函数产生100个10~99之间的随机整数,找出其中的素数。将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。用Su...
循环、数组和过程综合程序设计
利用随机函数产生100个10~99之间的随机整数,找出其中的素数。
将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。
用Sub子过程或Function函数过程判断随机整数是否为素数。
将素数按每行10个数在窗体或文本框中输出。
Public Sub sushu(t As Single)
For i = 2 To wu(t) - 1
If wu(t) Mod i + 1 <> 0 Then
n = n + 1
ReDim du(n) As Integer
du(n) = wu(t)
End If
Next i
End Sub 展开
利用随机函数产生100个10~99之间的随机整数,找出其中的素数。
将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。
用Sub子过程或Function函数过程判断随机整数是否为素数。
将素数按每行10个数在窗体或文本框中输出。
Public Sub sushu(t As Single)
For i = 2 To wu(t) - 1
If wu(t) Mod i + 1 <> 0 Then
n = n + 1
ReDim du(n) As Integer
du(n) = wu(t)
End If
Next i
End Sub 展开
2个回答
展开全部
因为代码不全,所以基本上看不出来要做什么,我有照着这个题目要求做的完整代码,贴在下面,你可以看看:
以下代码不需要任何控件
Private Sub Form_Activate()
Dim a(1 To 100) As Integer, prime(1 To 100) As Integer, np As Integer, sp As Integer
'a数组存放100个随机整数,prime数组存放素数,np存放素数个数,sp存放素数总和
Randomize
np = 0
sp = 0
Print "100个随机整数为"
For i = 1 To 100
a(i) = 10 + Int(90 * Rnd)
Print a(i);
If i Mod 10 = 0 Then Print
If isprime(a(i)) Then
np = np + 1
prime(np) = a(i)
sp = sp + a(i)
End If
Next
Print
Print "包含的素数依次为"
For i = 1 To np
Print prime(i);
If i Mod 10 = 0 Then Print
Next
Print
Print "素数个数为"; np; ",素数总和为"; sp
End Sub
Function isprime(ByVal Num As Integer) As Boolean '判断是否为素数的函数
If Num < 2 Then isprime = False: Exit Function
Dim i As Integer
For i = 2 To Sqr(Num)
If (Num Mod i) = 0 Then
isprime = False
Exit Function
End If
Next i
isprime = True
End Function
以下代码不需要任何控件
Private Sub Form_Activate()
Dim a(1 To 100) As Integer, prime(1 To 100) As Integer, np As Integer, sp As Integer
'a数组存放100个随机整数,prime数组存放素数,np存放素数个数,sp存放素数总和
Randomize
np = 0
sp = 0
Print "100个随机整数为"
For i = 1 To 100
a(i) = 10 + Int(90 * Rnd)
Print a(i);
If i Mod 10 = 0 Then Print
If isprime(a(i)) Then
np = np + 1
prime(np) = a(i)
sp = sp + a(i)
End If
Next
Print "包含的素数依次为"
For i = 1 To np
Print prime(i);
If i Mod 10 = 0 Then Print
Next
Print "素数个数为"; np; ",素数总和为"; sp
End Sub
Function isprime(ByVal Num As Integer) As Boolean '判断是否为素数的函数
If Num < 2 Then isprime = False: Exit Function
Dim i As Integer
For i = 2 To Sqr(Num)
If (Num Mod i) = 0 Then
isprime = False
Exit Function
End If
Next i
isprime = True
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询