VB程序计强化复习主题讲座2.pptVIP

  • 8
  • 0
  • 约1万字
  • 约 28页
  • 2019-04-18 发布于浙江
  • 举报
数组常用算法总结 生成数组 找最大数、最小数、及所在下标 计算行/列平均值 排序 在已排序的数列中插入数 两列已排序的数合并 删除数列中的重复数 二维数组中设置对角线元素 矩阵转置 扬辉三角 控件数组 数组的定义 下标不能越界! 数组的初值 Option Base {1|0}的含义 例:Dim a(9) as integer, b(2 to 9) as byte 使用数组只能分别对元素进行使用,不能整体使用数组! 动态数组的定义(两种) Dim a() As Integer N=Val(InputBox(“输入N=?”)) Redim a(N) 主题一:生成数组 产生n个[1,100]的随机整数,n由键盘输入,要求每行打印5个数 Private Sub form_click() Randomize Dim x As Integer Dim i As Integer, pos As Integer n = InputBox() ReDim a(n) As Integer For i = 1 To n a(i) = Int(Rnd * 100) + 1 Form1.Print a(i); ; ?? Next I End Sub 主题一:生成数组并统计 产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 private Sub form_click() Dim a(1 To 100) As Integer Dim x(0 To 9) As Integer Dim i As Integer, p As Integer For i = 1 To 100 a(i)=int(rnd*100) Next i 练习题: 产生100个互不相等的三位正整数 获得三位整数 n=Int(Rnd*900)+100 解题思路 每产生一个数,就到已有的数中查找是否存在该数,若不存在,就把该数放入数组中,若已存在,则该数不放入数组中,重新产生一个数,直到100个数满为止。 算法 (1) 产生一个三位数 (2) 查找是否已存在该数 (3) 不存在时把该数放入数组 重复以上过程,直到满100个数为止 Private Sub Form_Click() Dim a(1 To 100), i%, j%, m% Randomize a(1) = Int(Rnd * 900) + 100 For i = 2 To 100 a(i) = ________________ For j = 1 To i - 1 If a(i) = a(j) Then : Exit For Next j Next i For i = 1 To 100 Print a(i); If i Mod 10 = 0 Then Print Next i End Sub 求一维数组X中的最大值,及所在下标 Private Sub Form_Click() Dim x(10) As Integer,k as integer,max as integer for i=1 to 10 x(i)=inputbox(“”) next i Max = x(1) For i = 2 To 10 If x(i) Max Then Max = x(i) Next i Print Max End Sub 求二维数组X中的最大值,及所在下标 Private Sub Form_Click() Dim x(2, 3) As Integer,m%,n% x(1, 1) = 8: x(1, 2) = 3: x(1, 3) = 1: x(2, 1) = 6: x(2, 2) = 4: x(2, 3) = 13 Max = x(1, 1) : _______________________ For i = _ To 2 For j = _ To 3 If x(i, j) Max Then Max = x(i, j) ___________ Next j, i Print Max End Sub 求二维数组X中主对角线上的最大值 Private Sub Form_click() Dim a(3, 3) As Integer,k% a(

文档评论(0)

1亿VIP精品文档

相关文档