VB上机调试题及答案(3)

2019-03-28 08:31

' 找出30个数中数值大于平均值的数据,并统计出这些数据的个数 Dim x(30) As Integer

Dim sum As Integer, ave As Integer '平均值取整数 Dim i As Integer

Dim count As Integer '在平均值之上的数据个数 Randomize

For i = 1 To 30

x(i) = Int(Rnd * 100) + 1 Next i sum = 0

For i = 1 To 30

sum = ---------1--------- Next i

ave = --------2---------

'5个一行打印出原始数据,打印平均值 For i = 1 To 30

Form1.Print x(i); Space(2); If i Mod 5 = 0 Then Form1.Print Next i

Form1.Print \平均值:\

'找出并5个一行打印在平均值之上的数据,打印统计的个数 Form1.Print \在平均值之上的数据是:\ For i = 1 To 30

If x(i) > ave Then

---------3---------

Form1.Print x(i); Space(2);

If ------4-------- Then Form1.Print End If Next i

Form1.Print

Form1.Print \共有\个在平均值之上.\End Sub

程序调试22

Option Explicit Public Sub Del()

'该过程从一个含有10个数组元素的数组中删除一个指定的数据,若该数据不存在,则给出提示。 '先产生10个[1,100]的随机整数

'从键盘上输入一个数,将该数从数组中删除 Randomize

Dim x As Integer Dim a() As Integer

Dim i As Integer, pos As Integer ReDim a(10) As Integer For i = 1 To 10

a(i) = Int(Rnd * 100) + 1

38

Next i

Form1.Print \原始数据:\ For i = 1 To 10

Form1.Print a(i); \ Next i

Form1.Print

x = Val(InputBox(\输入删除的数x=\ pos = 0

For i = 1 To 10

If x = a(i) Then ------1----- Exit For End If Next i

If pos <> 0 Then

For i = -----2------ To 9 -------3------- Next i

ReDim Preserve a(9) '保留原数组中的9个数 Form1.Print \删除后数据:\ For i = 1 To 9

Form1.Print a(i); \ Next i

Form1.Print Else

MsgBox \数组中未找到\删除不成功\ End If End Sub

程序调试23

Option Explicit

Public Sub countEven()

'该过程是用于统计在随机产生的10个两位整数中的偶数的个数并用消息框输出。 Dim a(10) As Integer '存放10个随机数第一个为a(0) Dim count As Integer

Dim I As Integer, n As Integer Randomize

'******错误1****** For I = 1 To 10 '*****错误2***** n = Int(Rnd * 90) a(I) = n

Form1.Print a(I)

If a(I) Mod 2 = 0 Then count = count + 1 End If

39

Next I

'*****错误3*****

msgbox(\偶数个数:\End Sub

程序调试24

Option Explicit

Public Sub sortchar()

'该过程是对字符串进行整理,

'首先从键盘上输入一个任意的字符串,将该字符串的所有组成字符拆分开, '再按照字符ASCII码从小到大的顺序将这些字符重新组成新的字符串。 '例如输入a4fkze5,重新组合的字符串为45aefkz。 Dim x As String '原始字符串

Dim y As String '重新组合的字符串 Dim c() As String '拆分出的字符 Dim k As Integer '字符串长度 Dim i As Integer, j As Integer Dim temp As String

x = InputBox(\输入一个字符串\ k = ------1------- ReDim c(k) As String '字符串拆分 For i = 1 To k

c(i) = ------2------- Next i '字符排序

For i = 1 To k - 1

For j = -------3------- If c(i) > c(j) Then temp = c(i) c(i) = c(j) c(j) = temp End If Next j Next i

'排序后的字符组成新字符串 y = \

For i = 1 To k y = y & c(i) Next i

Form1.Print \原始字符串\

Form1.Print \重新组合的字符串\End Sub

程序调试25

Option Explicit

40

Public Sub compositor()

'该过程是用于产生20个不大于1000的自然数,

'并使用选择分类法按从大到小的顺序输出,相同数不输出。 Const n = 20

Dim a(n), i, p, j, t For i = 1 To n a(i) = ----1---- Next i

For i = 1 To n - 1 p = i

For j = i To n

If a(p) < a(j) Then ----2---- Next j

If ----3---- Then t = a(i): a(i) = a(p): a(p) = t Next i

Form1.Print a(1) For i = 2 To n

If a(i) <> a(i - 1) Then Form1.Print ----4---- Next i

Form1.Print End Sub

程序调试26

Option Explicit Public Sub prt()

'该过程是输出由数字组成的如下所示杨辉三角形图案 ' 1 ' 1 1 ' 1 2 1 ' 1 3 3 1 ' 1 4 6 4 1 ' 1 5 10 10 5 1 ' 1 6 15 20 15 6 1 Const n = 8

Dim a(n + 1) As Byte, i As Integer, j As Integer Dim s As String '给数组a赋初值 For i = 1 To n + 1 a(i) = 0 Next i

'计算并打印第一个数 a(1) = 1

Form1.Print Space(2 * n + 2); '计算数字前的空格数 Form1.Print a(1)

'计算其余行的数并打印 For i = 2 To ----1----

41

a(i) = a(i - 1)

For j = ----2---- To 2 Step -1 ----3---- Next j

Form1.Print Space((n - i + 1) * 2); For j = 1 To i

s = Trim(Str(----4----))

Form1.Print Space(Int((4 - Len(s)) / 2 + 0.5)) + s + Space(Int((4 - Len(s)) / 2 + 0.5));

Next j

Form1.Print Next i End Sub

五、多维数组

程序调试27

Public Sub Transpose()

'该过程用于产生一个6×6的转置矩阵,将二维数组中所有行和对应列的元素进行交换。 Dim a(1 To 6, 1 To 6) As Integer Dim i As Integer, j As Integer Form1.Print \原始数据\ For i = 1 To 6 For j = 1 To 6

a(i, j) = Int(Rnd * 10) Form1.Print a(i, j); Next j

Form1.Print Next i

For i = 2 To 6

For j = 1 To ----- 1 ----- ------ 2 ----- Next j Next i

Form1.Print \转置后数据\ For i = 1 To 6 For j = 1 To 6 ----- 3 ----- Next j

Form1.Print Next i End Sub

Public Sub Swap(a As Integer, b As Integer) Dim temp As Integer temp = a a = b

42


VB上机调试题及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Informix数据库培训教材(上)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: