方正科技股票能涨吗还:vb程序设计问题

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:00:05
数组sz中保存100个两位随机整数,找出其中的素数,并将这些素数按降序输出
写代码
我写的是Private Sub Command1_Click()
Dim arrayz(1 To 100) As Integer, i As Integer
For i = 1 To 100
arrayz(i) = Int(Rnd * 188) - 99
Next

Dim j As Integer, flag As Boolean, n As Integer
For i = 1 To 100
flag = True
For j = 2 To i - 1
If arrayz(i) Mod j = 0 Then
flag = False
Exit For
End If
Next

For j = i + 1 To 100
If arrayz(i) < arrayz(j) Then
temp = arrayz(i): arrayz(i) = arrayz(j): arrayz(j) = temp
End If
Next
Next
For i = 1 To 100
Debug.Print arrayz(i); " ";
Next

End Sub

但不行,谢谢指教
要求;生成的必须是两位数的整数

Dim arrayz(1 To 100) As Integer
For i = 1 To 100
arrayz(i) = Int(Rnd * 90) +10
Next

For i = 1 To 100
For j = 2 To i - 1
If arrayz(i) Mod j = 0 Then
arrayz(i)=0
Exit For
End If
Next
Next

for i=1 to 99
For j = i+1 To 100
If arrayz(i) < arrayz(j) Then
temp = arrayz(i): arrayz(i) = arrayz(j): arrayz(j) = temp
End If
Next
Next

For i = 1 To 100
if arrayz[i]=0 then exit for
Debug.Print arrayz(i); " ";
Next
End Sub

'素数的概念是不能被小于它自身的整数整除,不包括1
Private Sub Command1_Click()
Dim arrayz(1 To 100) As Integer, i As Integer, x As Integer
Dim temp As Integer '转换变量
Dim sushu(1 To 100) As Integer '定义存储素数的数组
x = 1
For i = 1 To 100
arrayz(i) = Int(Rnd * 100+1)
Next '生成随机数
For i = 1 To 100
For j = 2 To arrayz(i)
If arrayz(i) Mod j = 0 Then '判断是否是素数
Exit For
End If
Next j
If j = arrayz(i) Then '如果是素数副值给sushu数组
sushu(x) = arrayz(i)
x = x + 1
End If
Next i '用循环找出素数 放到sushu()数组里
For i = 1 To x
For j = i + 1 To x
If sushu(i) < sushu(j) Then
temp = sushu(i)
sushu(i) = sushu(j)
sushu(j) = temp
End If
Next j
Next i '排序
For i = 1 To x '输出
Print sushu(i)
Next

End Sub
编译通过 呵呵 好累 自己改下随机数下标 只要在integer范围内的都能找出来 哎呀 才看到居然是要两位整数的