计算机等级考试VB程序设计常用代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、判断素数
Dim x%,i%
x = Val(Text1.Text)
For i = 2 To x - 1
If x Mod i = 0 Then Exit For
Next i
If i = x Then
MsgBox x & "是素数"
Else
MsgBox x & "不是素数"
End If
=======================================
勾股数
For a = 1 to 100
For b = a to 100
c = sqr( a * a + b * b )
if c = fix( c ) and c <= 100 then print a,b,c
Next b
Next a
=======================================3、求最大公约数,最小公倍数
法一
do
r=m mod n
m=n
n=r
loop until r=0
print “最大公约数是:”;m
法二
Private Sub Command1_Click()
Dim a As Integer, b As Integer
Dim MaxDeno As Integer
Dim MinComMulti As Integer
a = Text1.Text
b = Text2.Text
MaxDeno = gcd(a, b)
MinComMulti = a * b / MaxDeno
Print MaxDeno; MinComMulti End Sub
Private Function gcd(ByVal x As Long, ByVal y As Long)
Dim r As Long
r = x Mod y
If r = 0 Then
gcd = y
Else
x = y
y = r
gcd = gcd(x, y)
End If
End Function
=======================================4、常用排序法(OP:>为升序;<为降序)
选择排序法
For i = 1 To N - 1
For j = i + 1 To N
If Sort(i) OP Sort(j) Then
temp = Sort(i)
Sort(i) = Sort(j)
Sort(j) = temp
End If
Next j
Next i 直接排序法
For i = 1 To N - 1
pointer = i
For j = i + 1 To N
If Sort(pointer) OP Sort(j) Then pointer = j Next j
If i <> pointer Then
temp = Sort(i)
Sort(i) = Sort(pointer)
Sort(pointer) = temp
End If
Next i
冒泡排序法
For i = 1 To N - 1
For j = 1 To N - i
If S(j) OP S(j + 1) Then
t = S(j)
S(j) = S(j + 1)
S(j + 1) = t
End If
Next j
Next i
=======================================5、常用的查找法
顺序查找
For i = 1 To UBound(search)
If search(i) = x Then Exit For Next i
If i <= UBound(search) Then
Print "找到了X"
Else
Print "没找到X"
End If 二分查找
flg = False
Left = 1
Right = UBound(S)
Do While Left <= Right
Mid = (Left + Right) / 2
If x = S(Mid) Then
flag = True
Exit Do
ElseIf x > S(Mid) Then
Left = Mid + 1
Else
Right = Mid - 1 End If
Loop
=======================================6、有关数组的算法还有:
1)求一维数组a(n)元素的和
s = 0
For i = 1 To n
s = s + a(i)
Next i
2)求二维数组a(n,m)各元素的和s=0
For i=1 to n
for j=1 to m
s=s+a(I,j)
next j
Next I 3)求二维数组a(m,n)周边元素的和
s = 0
For i = 1 To n
s = s + a(1, i) + a(m, i)
Next i
For i = 2 To m - 1
s = s + a(i, 1) + a(i, n)
Next j
4)求二维数组a(n,n)主对角线元素的和s = 0
For i = 1 To n
s = s + a(i, i)
Next i
5)求二维数组a(n,n)次对角线元素的和
s = 0
For i = 1 To n
s = s + a(i, n + 1 - i)
Next
=======================================7、求最大数,最小数
Min = x(0)
Max = x(0)
For i = 1 To ubound(x)
If x(i) < Min Then Min = x(i)
If x(i) > Max Then Max = x(i)
Next
Print "最大数="; Max & vbCrLf & "最小数 ="; Min
=======================================。

相关文档
最新文档