二级上机测试中VB程序设计及程序调试样题(3)

2019-01-19 18:33

Next i

Form1.Print \End Sub

2.已有一模块文件Modify.Bas。该模块中的Calculate过程是产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 程序如下: Public Sub calculate()

Dim a(1 To 100) As Integer Dim x(1 To 10) As Integer Dim i As Integer, p As Integer

'产生100个[0,99]范围内的随机整数 '每行10个打印出来 For i = 1 To 100

'******** 错误1 *********** a(i) = Rnd * 100 If a(i) < 10 Then

Form1.Print Space(2); a(i); Else

Form1.Print Space(1); a(i); End If

If i Mod 10 = 0 Then Form1.Print Next i

'统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数 '并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来 For i = 1 To 100

'******** 错误2 ********** p = Int(a(i) / 10) '求个位上的数字 If p = 0 Then p = 10

'******** 错误3 ********** x(p) = x(p) - 1 Next i

Form1.Print \统计结果\ For i = 1 To 10 p = i

If i = 10 Then p = 0

'******** 错误4 *********

Form1.Print \个位数为\共\个\ Next i End Sub

3.已有一模块文件Modify.Bas。该模块中的Findat过程是用于在一个字符串变量中查找\,并用消息框给出查找结果的报告:没有找到或找到的个数,但不完整,请在横线上填入必要的内容,使其完整。

程序如下: Public Sub Findat()

'在字符串str1中查找\ Dim str1 As String

Dim length As Integer '字符串长度 Dim sum As Integer '查到的个数 Dim i As Integer

str1 = InputBox(\请输入一个字符串\ length = ----1---- i = 1 sum = 0

Do While i <= ----2---- If ----3---- = \ sum = sum + 1 End If i = i + 1 Loop

If ----4---- Then

MsgBox \没有找到!\ Else

MsgBox \找到了\个\ End If End Sub

4.已有一模块文件Modify.Bas。该模块中的 Guess 过程是猜数游戏,由计算机产生一个[1,100]的任意整数,输入猜数后计算机给出提示,如果5次后还没有猜中就结束游戏并公布正确答案。 程序如下: Public Sub Guess() Dim R As Integer Dim X As Integer Dim times As Integer Randomize

'****** 错误1 ******

R = Rnd * 100 '产生一个1--100 的任意整数 times = 1 Do

X = Val(InputBox(\输入猜数X\ Select Case X Case R

Form1.Print \猜中了\ Exit Do '***** 错误2 ****** Case X > R

Form1.Print \太大了,继续猜!\

Case Else

Form1.Print \太小了,继续猜!\ End Select times = times + 1 '****** 错误3 ****** Loop While times > 5 If times > 5 Then

Form1.Print \猜数失败,游戏结束!\ '****** 错误4 ******

Form1.Print \正确答案为\ End If End Sub

5.已有一模块文件Modify.Bas。该模块中的ArmstrongNumber过程是用于求出1--999之间所有的Armstrong数,并打印出来,但不完整,请在横线上填入必要的内容,使其完整。所谓Armstrong数是指一个数等于它每位上数字的立方和。例如:371=3^3+7^3+1^3,那么371就是一个Armstrong数。

程序如下:

Public Sub ArmstrongNumber() Dim armstrong As Integer Dim i As Integer

Dim hundred As Integer '百位上的数字 Dim ten As Integer '十位上的数字 Dim one As Integer '个位上的数字 For i = 1 To 999 hundred = ----1---- ten = ----2---- one = ----3---- If ----4---- Then

Form1.Print i; \ End If Next i End Sub

6.已有一模块文件Modify.Bas。该模块中的 CountTo60 过程是用于从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分,要求输出取法的数量及每一种取法的一分、二分、五分的个数。

程序如下: Public Sub CountTo60()

'从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分 '输出取法的数量及每一种取法的一分、二分、五分的个数 Dim one As Integer '一分硬币个数 Dim two As Integer '二分硬币个数 Dim five As Integer '五分硬币个数

Const n = 20 '总数20枚 Dim k As Integer '取法数量 k = 0

For one = 1 To n

'******* 错误1 ******** For two = one + 1 To n five = n - one - two '******* 错误2 ********* If one + two + five = 60 Then k = k + 1

Form1.Print \ End If

'******* 错误3 ******** Next one

'****** 错误4 ****** Next two

Form1.Print \End Sub

7.已有一模块文件Modify.Bas。该模块中的TJ过程是将一批数据中小于零的数及它们的积打印出来,但不完整,请在横线上填入必要的内容,使其完整。Modify.Bas模块中的SCSJ过程是产生数据,数据的取值范围为-10 ~ 10 之间的随机数。 程序如下: Private Const n = 10 Private a(1 To n) As Integer

'TJ过程是将一批数据中小于零的数及它们的积打印出来

'数据由SCSJ过程产生,数据的取值范围为-10 ~ 10 之间的随机整数

Public Sub TJ() Dim i As Integer Dim t As Single -------- 1 -------- For i = 1 To 10

If -------- 2 -------- Then t = t * a(i) End If Next i

Form1.Print \End Sub

Public Sub SCSJ() Randomize

Form1.Print \原始数据\ Dim i As Integer

Dim j As Integer For i = 1 To n

'随机产生0或1,为0时取负,为1时取正 j = Int(Rnd * 2)

If ------ 3 ----- Then J = -1 a(i) = j * Int(Rnd * (n + 1)) Form1.Print a(i); Next i Form1.Print End Sub

8.已有一模块文件Modify.Bas。该模块中的Money过程是用于统计一个有7个工作人员的餐厅发工资所需的100元、50元、10元、5元和1元的票面数,但不完整,请在横线上填入必要的内容,使其完整。

Modify.Bas模块中的SalaryData过程是给出7个员工的工资。(工资单位是元) 程序如下: Dim salary(7) As Integer Public Sub Money()

Dim hundred As Integer, totalhundred As Integer '100元票面数量、总数量 Dim fifty As Integer, totalfifty As Integer '50元票面数量、总数量 Dim ten As Integer, totalten As Integer '10元票面数量、总数量 Dim five As Integer, totalfive As Integer '5元票面数量、总数量 Dim one As Integer, totalone As Integer '1元票面数量、总数量 Dim totalsalary As Integer '工资总计 Dim i As Integer, temp As Integer totalhundred = 0 totalfifty = 0 totalten = 0 totalfive = 0 totalone = 0 totalsalary = 0 For i = 1 To 7 temp = ----1----

hundred = Int(temp / 100) temp = ----2---- fifty = Int(temp / 50) temp = temp - fifty * 50 ten = Int(temp / 10) temp = temp - ten * 10 five = Int(temp / 5) temp = temp - five * 5 one = ----3----

totalhundred = totalhundred + hundred totalfifty = totalfifty + fifty


二级上机测试中VB程序设计及程序调试样题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《三字经》试卷(50题)

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

马上注册会员

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