资源描述
计算1到10的和与积
Private Sub Command1_Click()
Dim i As Integer, sum As Integer, f As Long
sum = 0
Print "sum=";
For i = 1 To 10
sum = sum + i
If i < 10 Then
Print i; "+";
Else
Print i; "=";
End If
Next i
Print sum
f = 1
Print "f=";
For i = 1 To 10
f = f * i
If i < 10 Then
Print i; "*";
Else
Print i; "=";
End If
Next i
Print f
End Sub
生成数组,并计算所有元素之和,和对角线的和
Dim a(5, 5) As Integer, i As Integer, j As Integer
Dim sum As Integer, st As String
Private Sub Command1_Click()
For i = 1 To 5
For j = 1 To 5
a(i, j) = Int(Rnd * 90) + 10
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End Sub
Private Sub Command2_Click() “求元素和的计算”
sum = 0
For i = 1 To 5
For j = 1 To 5
sum = sum + a(i, j)
Next j
Next i
Text1.Text = sum
End Sub
Private Sub Command3_Click()“外面元素和”
sum = 0
For i = 1 To 5
For j = 1 To 5
If i = 1 Or i = 5 Then
sum = sum + a(i, j)
ElseIf j = 1 Or j = 5 Then
sum = sum + a(i, j)
End If
Next j
Next i
Text2.Text = sum
End Sub
Private Sub Command4_Click() 对角线的和
Dim sum1 As Integer
sum = 0
For i = 1 To 5
For j = 1 To 5
If i = j Then
sum = sum + a(i, j)
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 5
If i + j = 6 Then
sum1 = sum1 + a(i, j)
End If
Next j
Next i
Text3.Text = sum + sum1
End Sub
Private Sub Command5_Click()
Picture1.Cls
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Command6_Click()
Unload Me
End Sub
水仙花的计算
Private Sub Command1_Click()
Dim s As Integer, a As Integer, b As Integer, c As Integer, st As String
For a = 1 To 9
For b = 0 To 9
For c = 0 To 9
s = a * 100 + b * 10 + c
If s = a ^ 3 + b ^ 3 + c ^ 3 Then
st = s & "=" & a & "^3+" & b & "^3+" & c & "^3"
Print st
End If
Next c
Next b
Next a
计算最大公约数
Private Sub Command1_Click()
Dim i As Long, j As Long, r As Long
i = Val(Text1.Text)
j = Val(Text2.Text)
If i < 1 Or j < 1 Then
Text3.Text = "数据错误"
Else
Do 求最大公约数
r = i Mod j
i = j
j = r
Loop Until r = 0
Text3.Text = CStr(i)
i 就是最大公约数
Do
r = i Mod j
i = j
j = r
Loop Until r = 0
Text3.Text = CStr(i)
End If
End Sub
生成数组,并安10个每行输出,并求最大和最小的元素和所处的位置
Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim a(20) As Integer, i As Integer, st As String
Dim max As Integer, min As Integer, maxp As Integer, minp As Integer
For i = 1 To 20
a(i) = Int(100) * Rnd + 1
st = st & Str(a(i))
l If i Mod 10 = 0 Then st = st & vbCrLf
Next i
Text1 = st
max = a(1): min = a(1)
maxp = 1: minp = 1
For i = 2 To 20
If a(i) > max Then
max = a(i)
maxp = i
ElseIf a(i) < min Then
min = a(i)
minp = i
End If
Next i
Text2 = Str(max) & "位置是" & Str(maxp)
Text3 = Str(min) & "位置是" & Str(minp)
输入一个矩阵,求每行的最大值
Private Sub Command1_Click()
Dim a(4, 3) As Integer, i As Integer, j As Integer
Dim max As Integer
For i = 1 To 4
For j = 1 To 3
a(i, j) = InputBox("请输入矩阵第(" & i & "," & j & ")元素", "输入矩阵元素")
Picture1.Print a(i, j),
Next j
Picture1.Print
Next i
For i = 1 To 4
max = a(i, 1)
For j = 2 To 3
If max < a(i, j) Then max = a(i, j)
Next j
Picture1.Print "第" & i & "行最大的是:"; max
Next i
End Sub
生成数组,并求行和和列和
Option Explicit
Dim a(4, 5) As Integer, i As Integer, j As Integer, sum As Integer, st As String
Private Sub Command1_Click(
For i = 1 To 4
For j = 1 To 5
a(i, j) = Int((9 * Rnd) + 1)
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End SuB
Private Sub Command2_Click()
st = ""
For j = 1 To 5
sum = 0
For i = 1 To 4
sum = sum + a(i, j)
Next i
st = st & Str(sum)
Text1.Text = st
Next j
End Sub
Private Sub Command3_Click()
st = ""
For i = 1 To 4
sum = 0
For j = 1 To 5
sum = sum + a(i, j)
Next j
st = st & Str(sum) & vbCrLf
Next i
Text2.Text = st
排序
Option Base 1
Private Sub Command1_Click()
Dim rndArray(10) As Integer
Dim i As Integer, j As Integer, temp As Integer
Randomize
Picture1.Print "排序前:"
For i = 1 To 10
rndArray(i) = Int(90 * Rnd + 10)
Picture1.Print rndArray(i);
Next i
For i = 1 To 10
For j = 1 + i To 10
If rndArray(i) < rndArray(j) Then
temp = rndArray(i)
rndArray(i) = rndArray(j)
rndArray(j) = temp
End If
Next j
Next i
n Picture1.Print
Picture1.Print "排序后"
For i = 1 To 10
Picture1.Print rndArray(i);
Next i
Picture1.Print
End Sub
筛选出大写字母
Private Sub Command1_Click()
Dim i As String, j As String, a As String, b As Integer
Text1.SetFocus
i = Text1.Text
For b = 1 To Len(i)
If Mid(i, b, 1) >= "A" And Mid(i, b, 1) <= "Z" Then
n a = a & Mid(i, b, 1)
End If
Next b
For b = Len(a) To 1 Step -1
j = j & Mid(a, b, 1)
Next b
Text2.Text = j
过程的调用(自守数)
Private Sub Command1_Click()
Dim x As Long
x = Val(Text1.Text)
If verify(x) Then
List1.AddItem Text1.Text
Else
MsgBox Str(x) & "不是子守数。", vbInformation
End If
End Sub
Private Function verify(x As Long) As Boolean
Dim y As Long, s As Integer, z As String
verity = False
y = x * x
s = Len(CStr(x))
If x = Val(Right(CStr(y), s)) Then
verify = True
End If
End Function
过程调用,(升序数)
Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim a As Integer, b As Integer, i As Integer
a = Text1.Text
b = Text2.Text
For i = a To b
If sx(i) Then
List1.AddItem i
End If
Next i
If List1.ListCount = 0 Then List1.AddItem "无升序数"(列表项数目)
End Sub
Private Function sx(ByVal n As Integer) As Boolean
Dim a() As Integer, k As Integer, i As Integer
Do 这是把一个数分开的用法
k = k + 1
ReDim Preserve a(k)
a(k) = n Mod 10
n = n \ 10
Loop Until n <= 0
Do
k = k + 1
ReDim Preserve a(k)
a(k) = n Mod 10
n = n \ 10
Loop Until n <= 0
For i = 1 To UBound(a) - 1
If a(i + 1) >= a(i) Then Exit Function
Next i
sx = True
任意一个偶数都可以变成两个素数之和
Option Explicit
Private Function judge(n As Integer) As Boolean
Dim i As Integer
For i = 3 To n - 1
If n Mod i = 0 Then Exit For
Next i
judge = true
End Function
Private Sub Command1_Click()
Dim x As Integer, i As Integer
x = Text1.Text
If x = 4 Then
Text2.Text = "2+2"
Else
i = 3
Do While Text2 = ""
If judge(i) And judge(x - i) Then
Text2.Text = i & "+" & x - i
Else
i = i + 2
End If
Loop
End If
End Sub
进制转换
Private Function change(s As String, n As Integer) As String
Dim i As Integer, k As Integer, sum As Integer
Dim p As String * 1, q As Integer
k = 0
For i = Len(s) To 1 Step -1
p = Mid(s, i, 1)
If p >= "0" And p <= "9" Then
q = p
Else
q = Asc(p) - 55
End If
sum = sum + q * n ^ k
k = k + 1
Next i
change = sum
End Function
Private Sub Command1_Click()
Dim a As Integer, b As String
a = Text1.Text
b = Text2.Text
Text3.Text = change(b, Val(a))
End Sub
生成不同的数,并求平均数
Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim a(20) As Integer, i As Integer, k As Integer, j As Integer
Dim sum As Integer, p As Integer
Do While p < 20
k = Int(Rnd * 41 + 10)
For j = 1 To p
If k = a(j) Then Exit For
Next j
If j > p Then
Do While p < 20
k = Int(Rnd * 41 + 10)
For j = 1 To p
If k = a(j) Then Exit For
Next j (生成不同的数)
If j > p Then
p = p + 1
a(p) = k
p = p + 1
a(p) = k
sum = sum + a(p)
Picture1.Print a(p);
If p Mod 10 = 0 Then
Print
End If
End If
Loop
Text1.Text = "平均值为:" & sum / 20
找出素数并按10个输出
Private Sub Command1_Click()
Dim p() As Integer, i As Integer, j As Integer, k As Integer, t As Integer
ReDim p(1)
p(1) = 2
k = 1
For i = 3 To 100
For j = 2 To i - 1
If i Mod j = 0 Then Exit For
Next j
If j >= i Then
t = 0 安十个输出的方法
For j = 1 To k
t = t + 1
Print p(j);
If t Mod 10 = 0 Then Print
Next j
k = k + 1
ReDim Preserve p(k)
p(k) = i
End If
Next i
t = 0
For j = 1 To k
t = t + 1
Print p(j);
If t Mod 10 = 0 Then Print
Next j
End Sub
删除重复数
Option Explicit
Option Base 1
Dim a() As Integer
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Text1 = ""
Text2 = ""
n = InputBox("输入一个整数")
ReDim a(n)
Randomize
For i = 1 To n
a(i) = Int(Rnd * 10) + 1
Text1.Text = Text1 & Str(a(i))
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, k As Integer, n As Integer, ub As Integer
Text2 = ""
ub = UBound(a)
n = 1 (删除重复数的过程)
Do While n < ub
i = n + 1
Do While i <= ub
If a(n) = a(i) Then
For j = i To ub - 1
a(j) = a(j + 1)
Next j
ub = ub - 1
ReDim Preserve a(ub)
Else
i = i + 1
End If
Loop
n = n + 1
Loop
For n = 1 To ub
Text2.Text = Text2.Text & Str(a(n))
Next n
End Sub
求完数
Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim a() As Integer, i As Integer, j As Integer, k As Integer, sum As Integer, d As Integer
For i = 1 To 1000
ReDim a(1)
a(1) = 1
k = 1: sum = 1
For j = 2 To i - 1
If i Mod j = 0 Then
k = k + 1
ReDim Preserve a(k)
a(k) = j
sum = sum + a(k)
End If
Next j
If i = sum Then
Picture1.Print i; "=";
For d = 1 To k - 1
Picture1.Print a(d); "+";
Next d
Picture1.Print a(k)
End If
Next i
End Sub
展开阅读全文