1求任意自然数n的阶乘:
方法一 Do循环法
S=1
For I=1 To N
S=S*I
Next I
方法二 For循环
S=1:T=1
Do While T<=5
S=S*T
T= T +1
Loop
2闰年判断
Y = Text1.Text
If (Y Mod 4 = 0 And Y Mod 100 <> 0) Or Y Mod 400 = 0 Then
Msgbox Y & "是闰年"
Else
Msgbox Y & "不是闰年"
End If
3求两个自然数m、N的最大公约数hmax和最小公倍数hmin
M=Text1.Text : N=Text2.Text ‘M和n可通过其他途径赋值
mn=M*N ‘暂存m和n的乘积,以便后面算最小公倍数
If M
T=M :M=N :N=T
End If
R=M Mod N
Do While R< >0
M=N
N=R
R=M Mod N
Loop
Hmax=N
Hmin=Mn/Hmax
4. 素数判断
素数判断
方法一 提前退出法
N=Inputbox( “输入>=3的正整数”)
For I=2 To N-1 ‘或sqr(N) ,提前退出法
If (N Mod I =0) Then Exit For
Next I
If I>N-1 Then
Print N; “是素数”
Else
Print N; “不是素数”
End If
方法二 标志法
N=Inputbox( “输入一个>=3的正整数”)
End If
F=0 ‘F也可用逻辑型变量,标志法
For I=2 To N-1 ‘或sqr(N)
If (N Mod I =0) Then F=1
Next I
If F=0 Then
Print N; “是素数”
Else
Print N; “不是素数”
End If
Text2.Text = ""
m = Val(Text1.Text)
If m > 0 Then '正数
Text2.Text = "1"
ElseIf m < 0 Then '负数
Text2.Text = "-1"
End If
m = Abs(m)
n = m
For i = 2 To n
Do While m Mod i = 0 '找相同因子
Text2.Text = Text2.Text & "*" & i
m = m \ i
Loop
Next i
End If
4单词数统计
方法一 标志法,以空格作为单词间的间隔(假设只有空格和字母)
Dim A$, Temp$
Dim N%, I%
Dim Newword As Boolean, Wordnum As Integer
A = Text1.Text 'A = Ltrim(Text1.Text)
N = Len(A)
Newword = False '未遇到新单词(也可用数值变量)
Wordnum = 0
For I = 1 To N
Temp = Mid(A, I, 1)
If Temp = " " Then
Newword = False
'简化为elseif Newword = False Then
Elseif Ucase(Temp) >= "A" And Ucase(Temp) <= "Z" And Newword = False Then
Wordnum = Wordnum + 1
Newword = True
End If
Next I
Text2.Text = Wordnum
方法二 根据相邻两字符特征判断
Dim A$, Tempf$, Tempb$
Dim N%, Wnum%, I%
A = Text1.Text 'A = Ltrim(Text1.Text)
Wnum = 0
N = Len(A)
For I = 1 To N - 1 '避免超出范围
Tempf = Mid(A, I, 1)
Tempb = Mid(A, I + 1, 1)
If Wnum = 0 And Tempf <> " " Then '对第一个单词特殊处理
Wnum = Wnum + 1
Elseif Tempf = " " And Tempb <> " " Then
Wnum = Wnum + 1
End If
Next I
Text2.Text = Wnum
5找出二维矩阵中的最大元素、最小元素及其所在位置
Dim Dmax%, Rowmax%, Colmax% '最大值、所在行、所在列
Dim Dmin%, Rowmin%, Colmin% '最小值、所在