计算机二级c常用算法,计算机等级考试二级常用算法.doc

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% '最小值、所在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值