VB程序:利用随机函数产生100个10~99之间的随机整数,找出其中的素数,并将这些素数求和。 VB利用随机函数Rnd生成10个10-99的整数,并计算其中...
\u5728vb\u4e2d\u5229\u7528\u968f\u673a\u51fd\u6570\u4ea7\u751f100\u4e2a10\uff5e99\u4e4b\u95f4\u7684\u968f\u673a\u6574\u6570\uff0c\u627e\u51fa\u5176\u4e2d\u7684\u7d20\u6570\uff0c\u5e76\u5c06\u8fd9\u4e9b\u7d20\u6570\u6c42\u548c\u3002\u6b63\u597d\u5199\u8fc7\u8fd9\u4e2a\u54e6\uff0c\u4e5f\u7ed9\u4f60\u597d\u5566
\u4ee5\u4e0b\u4ee3\u7801\u4e0d\u9700\u8981\u4efb\u4f55\u63a7\u4ef6
Private Sub Form_Activate()
Dim a(1 To 100) As Integer, prime(1 To 100) As Integer, np As Integer, sp As Integer
'a\u6570\u7ec4\u5b58\u653e100\u4e2a\u968f\u673a\u6574\u6570\uff0cprime\u6570\u7ec4\u5b58\u653e\u7d20\u6570\uff0cnp\u5b58\u653e\u7d20\u6570\u4e2a\u6570\uff0csp\u5b58\u653e\u7d20\u6570\u603b\u548c
Randomize
np = 0
sp = 0
Print "100\u4e2a\u968f\u673a\u6574\u6570\u4e3a"
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 "\u5305\u542b\u7684\u7d20\u6570\u4f9d\u6b21\u4e3a"
For i = 1 To np
Print prime(i);
If i Mod 10 = 0 Then Print
Next
Print
Print "\u7d20\u6570\u4e2a\u6570\u4e3a"; np; "\uff0c\u7d20\u6570\u603b\u548c\u4e3a"; sp
End Sub
Function isprime(ByVal Num As Integer) As Boolean '\u5224\u65ad\u662f\u5426\u4e3a\u7d20\u6570\u7684\u51fd\u6570
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
1\u3001\u9996\u5148\uff0c\u6211\u4eec\u7ed9\u4e3b\u51fd\u6570\u5148\u5b9a\u4e00\u4e2a\u51fd\u6570\u3002
2\u3001\u7136\u540e\u6211\u4eec\u7f16\u5199For\u5faa\u73af\u8bed\u53e5\u3002
3\u3001\u7136\u540e\u6211\u4eec\u7f16\u5199\u8f93\u51fa\u8bed\u53e5\u53ca\u8303\u56f4\u3002
4\u3001\u7136\u540e\u6211\u4eec\u5f00\u59cb\u8fd0\u884c\u6d4b\u8bd5\u3002
5\u3001\u8fd9\u53e5\u8b66\u544a\u6ca1\u5173\u7cfb\uff0c\u5982\u679c\u4e0d\u60f3\u770b\u5230\u53ef\u4ee5\u6dfb\u52a0\u8c03\u7528\u6570\u5b66\u51fd\u6570\u3002
6\u3001\u8fd9\u65f6\u6211\u4eec\u4fbf\u53ef\u4ee5\u770b\u5230\u6548\u679c\u4e86\u3002
'定义全局数组、变量
Dim s(1 To 100) As Integer, t(1 To 100) As Integer, n%
'结束程序
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Form_Load()
Randomize
End Sub
'产生100个10-99的随机整数并存放在数组s中
Private Sub Command1_Click()
Dim i%
Text1 = ""
For i = 1 To 100
s(i) = 89 * Rnd + 10
Next
For i = 1 To 100
Text1 = Text1 & s(i) & " "
If i Mod 10 = 0 Then
Text1 = Text1 + vbCrLf + vbCrLf
End If
Next
End Sub
'显示全部素数以及个数并求和
Private Sub Command2_Click()
Dim sum%
Text2 = ""
For i = 1 To 100
SS (i)
Next
For i = 1 To n
Text2 = Text2 & t(i) & " "
sum = sum + t(i)
If i Mod 10 = 0 Then
Text2 = Text2 + vbCrLf + vbCrLf
End If
Next
Text3 = n
Text4 = sum
n = 0
End Sub
'判断素数子过程
Public Sub SS(k As Integer)
Dim i As Integer
If s(k) < 1 Or s(k) = 1 Then
GoTo over
End If
For i = 1 To s(k) - 2
If s(k) Mod (i + 1) = 0 Then
GoTo over
End If
Next
n = n + 1
t(n) = s(k)
over:
End Sub
请参考~~
绛旓細Private Sub Command1_Click() Dim a(10) As Integer Randomize Max = 1 For i = 1 To 10 a(i) = 1 + Int(Rnd * 100) Print a(i); If a(i) > a(Max) Then Max = i Next i Print Print "a("; Max; ")="; a(Max)End Sub ...
绛旓細鐢熸垚鐨勬暟缁勪负73 58 62 36 37 79 11 78 83 73 鎺掑簭鍚庣殑鏁扮粍涓83 79 78 73 73 62 58 37 36 11 璇ユ暟缁勫厓绱犲悇涓厓绱犵殑鍜屾槸 590 鏈澶у厓绱犳槸 83 鏈灏忓厓绱犳槸 11
绛旓細Dim aver As Single '瀹氫箟aver鏀惧钩鍧囧 sum = 0 max = 0 min = 100 Randomize For i = 1 To 10 '鐢熸垚闅忔満鏁瀛樺叆鏁扮粍锛屽苟姹傚嚭鍜屻佹渶澶у笺佹渶灏忓 a(i) = Int(Rnd * 100 + 1)sum = sum + a(i)Print a(i)If a(i) > max Then max = a(i)If a(i) < min Then ...
绛旓細Private Sub Command1_Click() Dim a(10) As Integer Randomize For i = 1 To 10 a(i) = Int(Rnd() * 91) + 10 Print a(i); s = s + a(i) Next i Print Print "骞冲潎鍊="; s / 10End Sub
绛旓細= SDA End If Next JNext IText1.Text = Text1.Text & "鐢熸垚鐨20涓闅忔満鏁帮細" & vbCrLfFor I = 1 To 20If AA(I) < 10 ThenText1.Text = Text1.Text & "0" & AA(I) & Space(3)ElseText1.Text = Text1.Text & AA(I) & Space(3)End IfIf I Mod 10 = 0 ThenTex...
绛旓細Private Sub Command1_Click() Randomize Dim a(9) As Integer, Max As Integer Dim k As Integer, i As Integer Dim t As Integer Max = 0 For i = 0 To 9 a(i) = Int(Rnd * 51) Print a(i);...
绛旓細Private Sub Command1_Click()Dim a(10) As Integer Randomize j = 1 Print "浜х敓鐨10涓鏁鏄"For i = 1 To 10 a(i) = 1 + Rnd * 100 If a(i) < a(j) Then j = i Print a(i);Next i Print Print "鏈灏忔暟鏄"; j; "涓,"; a(j)End Sub ...
绛旓細Dim a(10), x As Integer Dim str As String = "" Dim di As Boolean = True Dim n As Integer For i = 1 To 10 Do Do n = Int(Rnd() * 1000 + 10) Loop Until IsSushu(n) If i > 1 Then For x = 1 To i - 1 ...
绛旓細Private Sub Command1_Click()Dim a(10) As Integer Randomize Print "浜х敓鐨闅忔満鏁鏄細"For i = 1 To 10 a(i) = Int(Rnd * 51)Print a(i);Next i Print x = CInt(InputBox("璇疯緭鍏ヨ鏌ユ壘鐨勬暟锛"))Print "瑕佹煡鎵剧殑鏁版槸锛"; x n = 0 For i = 1 To 10 If x = a(i) ...
绛旓細a(i) = Int(Rnd * 100) + 1 arg = arg + a(i) If i = 0 Or a(i) > max Then max = a(i) If i = 0 Or a(i) < min Then min = a(i) Print a(i);NextPrintPrint "鏈澶у硷細"; maxPrint "鏈灏忓硷細"; minPrint "骞冲潎鍊硷細"; arg / 10End Sub ...