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小时内删除。