教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

《VB程序设计》课堂例题总结(5)

来源:网络收集 时间:2026-08-02
导读: Print a(i) If a(i) > a(maxi) Then maxi = i '记录最大值的下标 '拿新产生的数来与最大值作比较,若比最大值大,则取代其,作为新的最大值 Next Print \最大值为第\个元素,值为\End Sub 随机产生20个学生的成绩,

Print a(i)

If a(i) > a(maxi) Then maxi = i '记录最大值的下标

'拿新产生的数来与最大值作比较,若比最大值大,则取代其,作为新的最大值 Next

Print \最大值为第\个元素,值为\End Sub

随机产生20个学生的成绩,统计各分数段人数。 Option Explicit

Private Sub Command1_Click() Dim a(1 To 20) As Integer Dim s(5 To 9) As Integer Dim i%, j% Cls

For i = 1 To 20

a(i) = Int(Rnd * 101)

Print \ If i Mod 5 = 0 Then Print j = a(i) \\ 10 Select Case j Case 0 To 5

s(5) = s(5) + 1 Case 6 To 8

s(j) = s(j) + 1 Case Else

s(9) = s(9) + 1 End Select Next i Print

For i = 5 To 9

Print \Next End Sub

随机产生10个0~50之间不重复的数字 Option Base 1

Private Sub Form_Load() Randomize End Sub

Private Sub Command1_Click() Dim a%(10), y% Cls

a(1) = Int(Rnd * 51) '产生第一个数 i = 2

21

Do While i <= 10 '循环产生后面9个数

y = Int(Rnd * 51) '随机产生一个但不确定是否重复,所以不直接放进数组 For j = 1 To i - 1 '与之前产生的i-1进行比较,检查是否重复 If y = a(j) Then Exit For '发现重复则退出循环 Next j

If j > i - 1 Then

a(j) = y '不重复则放入数组 i = i + 1 '为产生下一个数做准备 End If Loop

For i = 1 To 10 Print a(i) Next i End Sub

输入学生的人数及科目数,再输入各位学生的各科课程的考试成绩,编写程序可以计算各个学生的平均成绩及每门课程的平均成绩 Option Base 1

Private Sub Command1_Click()

Dim a%(), n%, m%, i%, j%, sum%, aver! n = Val(Text1) m = Val(Text2) ReDim a(n, m) For i = 1 To n sum = 0

For j = 1 To m

a(i, j) = InputBox(\请输入第\个学生的第\门课程成绩:\ sum = sum + a(i, j) Next j

aver = sum / m

Label3.Caption = Label3.Caption & \第\个学生的平均成绩为:\Next i

For j = 1 To m sum = 0

For i = 1 To n

sum = sum + a(i, j) Next

aver = sum / n

Label3.Caption = Label3.Caption & \第\门课程的平均成绩为:\Next End Sub

裴波那切数列(动态数组求) Private Sub Command2_Click()

22

Dim a&() ReDim a(2)

a(1) = 1: a(2) = 1 Cls

Print a(1); a(2); i = 3

Do While True

ReDim Preserve a(i) a(i) = a(i - 2) + a(i - 1) Print a(i);

If i Mod 3 = 0 Then Print If a(i) > 30000 Then Exit Do i = i + 1 Loop End Sub

已知数组,输入一个数,查找该数是数组中第几个元素的值。如果该数不在数组中,则显示该数不在数组中 Option Base 1 Dim a()

Private Sub Command1_Click()

a = Array(2, 8, 16, 72, 36, 9, 3, 10, 25) For i = LBound(a) To UBound(a) Text1 = Text1 & Str(a(i)) Next i End Sub

Private Sub Command2_Click() Dim i%, y%

y = InputBox(\请输入要查找的数:\For i = LBound(a) To UBound(a) If a(i) = y Then Exit For Next i

If i <= UBound(a) Then

Label1.Caption = \找到了,是数组的第\个元素。\Else

Label1.Caption = \数组中没有这个数。\End If End Sub

已知有序数组,输入一任意数,将其插入数组中,使插入后的数组仍旧有序。 Private Sub Command1_Click() Dim a(),i%,k%,x%

a = Array(1,4,7,10,13,16,19,22,25)

x = Val(InputBox(\请输入要插入的数据:\

23

For k = LBound(a) To UBound(a) If x

ReDim Preserve a( UBound(a) + 1 ) For i = UBound(a)-1 To i Step -1 a(i + 1) = a(i) Next i a(k) = x

For i = LBound(a) To UBound(a) Print a(i); Next i End Sub

数组中n个数进行排序(选择排序法与冒泡排序法) Dim a%()

Private Sub Form_Load() Randomize End Sub

Private Sub Command1_Click() '产生数组 Print \原数组为:\

n = InputBox(\数组元素的个数:\ ReDim a(n)

For i = 1 To UBound(a) a(i) = Int(Rnd * 200 + 1) Print a(i); Next i Print End Sub

Private Sub Command2_Click() '选择法排序 For i = 1 To UBound(a) - 1 imin = i

For j = i + 1 To UBound(a)

If a(j) < a(imin) Then imin= j Next j t = a(i)

a(i) = a(imin) a(imin) = t Next i End Sub

Private Sub Command3_Click() '冒泡法排序

For i = 1 To UBound(a) - 1 ' 进行n-1轮比较

For j = UBound(a) To i + 1 Step -1 ' 从n~i个元素进行两两比较

24

If a(j) < a(j - 1) Then ' 若次序不对,则马上进行交换位置 t = a(j)

a(j) = a(j - 1) a(j - 1) = t End If

Next j ' 出了内循环,一轮排序结束,最小数已冒到最上面 Next i End Sub

Private Sub Command4_Click() '显示结果 Print \排序后数组为:\ For i = 1 To UBound(a) Print a(i); Next i Print End Sub

创建如图所示拨号器

Private Sub Command1_Click(Index As Integer) Text1.Text = Text1.Text & Index End Sub

Private Sub command2_Click() If Len(Text1.Text) > 0 Then

Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) End If End Sub

Private Sub command3_Click() Text1.Text = \End Sub

用复选框设置合计的项目。

25

…… 此处隐藏:815字,全部文档内容请下载后查看。喜欢就下载吧 ……
《VB程序设计》课堂例题总结(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/443196.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)