第18讲习题课 VB课件new.pptVIP

  • 2
  • 0
  • 约3.79千字
  • 约 15页
  • 2018-01-28 发布于浙江
  • 举报
第18讲习题课 VB课件new

数组习题讲解 三、For Each…Next 语句 For Each…Next 语句类似与For …Next 语句,但前者专门针对一个数组或集合中的每个元素执行重复语句。一般格式为: * * 一、数组的基本操作 1. 可通过循环给数组元素的初值 For i = 1 To 10 A数组的每个元素值为1 A(i)=1 Next i 2. 数组的输入 For i = 1 To 4 For j = 1 To 5 sc(i, j) = InputBox(输入sc的值) Next j Next I 3. 数组的输出 输出如下图所示的下三角数据 Dim sc(5,5) As Integer,i%,j% For i = 1 To 5 For j = 1 To i sc(i, j) = i * 5 + j Print sc(i, j); ; Next j Print 换行 Next I 二、 求数组中最大元素 Dim Max As Integer Max=A(1) For i = 2 To 10 If A(i)Max Then Max=A(i) End If Next I For Each 成员 In 数组 循环语句序列 [Exit For] 循环语句序列 Next 成员 For i=1 to 5 循环语句序列 [Exit For] 循环语句序列 Next i For Each …Next语句主要用来对数组元素进行处理,包括查询、显示或读取。它执行的次数由数组元素的个数决定。如: Dim a(1 to 5) For Each x In a print x, Next 四、 排序问题 排序就是将一组数按递增或递减的次序重新排列。 排序的方法:选择法、冒泡法、插入法和合并排序。 1、选择法排序 算法描述(以递减为例): 1、将n个数放在数组a(1),a(2),…a(n)。 2、从n个数中选出存放最大数的数组元素,然后将存放最大数的数组 元素中的数据与第一个数组元素的数据交换, 这为第一轮。 具体操作: 从n个数中选出存放最大数的数组元素的下标,放在变量k中,然后a(k) 与a(1)交换数据。 3、继续进行第二轮、第三轮、..、直到第n-1轮的操作。 程序实现:将数组中的6个数,用选择法递减顺序排列。 Dim a(6) As Integer Dim k, n, i, j, t As Integer Randomize n = 6 给数组6个元素赋值,0~9中的随机整数 For i = 1 To n a(i) = Int(Rnd * 9) + 1 Label2.Caption = Label2.Caption + Str(a(i)) Next 选择排序法 For i = 1 To n - 1 k = i For j = i + 1 To n If a(j) a(k) Then k = j Next t = a(k): a(k) = a(i): a(i) = t Next I for i=1 to n Label4.Caption = Label4.Caption + Str(a(i)) Next i 2.冒泡法排序 以递增为例: 算法思想:(将相邻两个数比较,小的调到前头) 1)将n个数存放在数组a(n)中, 2)第一轮将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置

文档评论(0)

1亿VIP精品文档

相关文档