Visual Basic程序设计基础知识要点(程序设计篇)
九大问题具体例子分析:
一、求最大数、最小数、求和以及求平均数
For i= 1 To 10
a(i)=Int(Rnd*90)+10 ’产生10—99之间的随机数
Next i
Max=a(1):Min=a(1) ’假设最大数和最小数
For i= 1 To 10
If Max<a(i) Then Max=a(i) ’求最大数
If Min>a(i) Then Min=a(i) ’求最小数
Sum=Sum+a(i) ’求和
Next i
Avg=Sum/10 ’求平均数
二、求阶层
例题:求10!.
Private Sub Command1_Click()
Dim p As Long, i As Integer
p=1
For i= 1 To 10
p=p*i
Next i
Print “10!=”;Sum
End Sub
三、求最大公约数
例题:求M和N两个数的最大公约数。
Private Sub Command1_Click()
Dim M As Integer, N As Integer, R As Integer
M=36:N=24
Do
R=M Mod N
M=N
N=R
Loop While R<>0 ’或 Loop Until R=0
Print “M和N的最大公约数为:”;M
End Sub
四、求素数
例题:求100—200之间的所有素数,并按每行5个元素格式输入所有素数。
Private Sub Command1_Click()
Dim n As Integer ,i As Integer j As Integer
For n = 100 To 200
For i = 2 To n-1 ’n-1可以是n/2,也可以是Sqr(n)形式 If n Mod i =0 Then Exit For
Next i
If i>n-1 Then
j=j+1 ’统计素数个数
Print n;
If j Mod 5 =0 Then Print ’输出5个数换行
End If
Next n
End Sub
五、求水仙花数(拆数法)
例题:求100—999之间的所有水仙花数,并将所有水仙花数在文本框中显示。所谓水仙花数:即153=1^3+5^3+3^3条件成立。
方法1:(数值型:使用运算符Mod 和 \)
Private Sub Command1_Click()
Dim i As Integer ,a As Integer ,b As Integer ,c As Integer
For i = 100 To 999
a=i\100 ’取百位数
b=i\10 Mod 10 ’取十位数
c=i Mod 10 ’取个位数
If i=a^3+b^3+c^3 Then
Text1.Text=Text1.Text & i & Space(2)
End If
Next i
End Sub
方法2:(字符型:使用函数Mid、Val和CStr)
Private Sub Command1_Click()
Dim i As Integer ,a As Integer ,b As Integer ,c As Integer
For i = 100 To 999
a= Val(Mid(Cstr(i),1,1)) ’取百位数
b= Val(Mid(Cstr(i),2,1)) ’取十位数
c= Val(Mid(Cstr(i),3,1)) ’取个位数
If i=a^3+b^3+c^3 Then
Text1.Text=Text1.Text & i & Space(2)
End If
Next i
End Sub
排序问题
方法1:选择排序
for i=1 to n-1 ’比较n-1轮
for j=i+1 to n ’每一轮比较几次
If a(j)<a(i) then 若要降序,则a(j)>a(i)
t=a(i):a(i)=a(j):a(j)=t 两数交换
End If
next j
next i
方法2:直接插入排序
For i= 1 To 9 ’比较n-1轮
Pointer=i
For j = i+1 To 10 ’每一轮比较几次
If a(Pointer)>a(j) Then Pointer=j
Next j
If i <> Pointer Then
t=a(i):a(i)=a(j):a(j)=t 两数交换
End If
Next i
方法3:冒泡排序
For i= 1 To n-1 ’比较n-1轮
For j = 1 To 10-i ’每一轮比较几次
If a(j)>a(j+1) Then ’从大到小:a(i)<a(j)
t=a(j):a(j)=a(j+1):a(j+1)=t 两数交换
End If
Next j
Next i
For i =1 To 10
Text1.Text=Text1.Text & a(i) & space(2) ’排好序的数输出显示文本框
Next i
七、字符操作
1、字符串取反
例题:在文本框中输入一个字符串,比如:ABCDEFGH,然后反向输出,结果为:HGFEDCBA。
Private Sub Command1_Click()
Dim s As String ,n As Integer ,i As Integervb程序设计是啥
n=Len(Text1.Text )
For i = n To 1 Step-1 ' For i = 1 To n
s = s + Mid(Text1.Text,i,1) ' s = Mid(Text1.Text,i,1) + s
Next i
Print s
End Sub
2、判断字符串中的某个字符是否为字母
例题:在文本框中输入一个字符串,比如:A$4Ch&*Fiy%41H,输出字符串中的所有字母,结果为:AChFiyH。
Private Sub Command1_Click()
Dim s As String ,n As Integer ,i As Integer ,c As String
n=Len(Text1.Text )
For i = 1 To n
c=Mid(Text1.Text,i,1)
If c >= "A" And c<= "Z" Or c >= "a" And c<= "z" Then
s = s + c
End If
Next i
Print s
End Sub
3、统计每类字符的个数
例题:在文本框中输入一个字符串,比如:A$m4Ch&*F13iy%p41H,请分别统计出大写字母、小写字母、数字字符和其他字符的个数。
Private Sub Command1_Click()
Dim n As Integer ,i As Integer ,c As String
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论