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

2019-03-28 08:31

str1 = InputBox(\请输入任意的字符串\输入任意字符串 '****错误1***** length = Val(str1) k = 1 Do

'****错误2*****

strleft = Left(str1, k) '从左边起逐个取出一个字符 '****错误3*****

strright = Right(str1, k) '从右边起逐个取出一个字符 '****错误4****

If strleft = strright Then Exit Do End If k = k + 1

Loop While k <= length / 2 If k > length / 2 Then

Form1.Print str1 & \是回文\ Else

Form1.Print str1 & \不是回文\ End If End Sub

程序调试12

Option Explicit Public Sub DToB()

'该过程是将一个十进制正整数转换成为一个二进制数。

'采用连除2取余数的方法,将一个十进制数转换为二进制数。 Dim Dec As Integer Dim Bin As String Dim res As Integer Dim i As Integer

Dec = Val(InputBox(\输入一个十进制数 Form1.Print \十进制数:\ Do

res = -----1------ '求出除以2的余数 Bin = Trim(Str(res)) & -----2------ Dec = -----3------ Loop While ----4------

Form1.Print \转换为二进制数为:\End Sub

程序调试13

Public Sub Guess()

'该过程是猜数游戏,由计算机产生一个[1,100]的任意整数,

'输入猜数后计算机给出提示,如果5次后还没有猜中就结束游戏并公布正确答案。 Dim R As Integer

33

Dim X As Integer Dim times As Integer Randomize

R = Int(Rnd * 100) + 1 '产生一个在区间[1,100] 的任意整数 times = 1 Do

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

Form1.Print \猜中了\ Exit Do

'***** 错误1 ****** Case Is < R

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

Form1.Print \太小了,继续猜!\ End Select

times = times + 1 '****** 错误2 ****** Loop While times > 5 If times > 5 Then

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

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

程序调试14

Option Explicit

Public Sub summary()

'该过程是用于计算s=1+2+2^2+2^3+??,直至s超过1E+16 Dim s As Single Dim i As Integer ------1------ i = 1

------2------ s = s + 2 ^ i ------3------ Loop

Form1.Print \End Sub

程序调试15

Option Explicit Public Sub find()

'该过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。

34

Dim countN%, n% countN = 0 n = 1 Do

n=----1----

if -----2---- then Form1.Print n

countN = countN + 1 End If

Loop ----3----- End Sub

程序调试16

Option Explicit Public Sub e()

'该过程是用于计算e的值并将结果输出,要求精确到0.000000000000001, 'e的计算公式为:e=1+1/1!+1/2!+?+1/n!。 Dim n, term, t

n = 0: term = 1: t = 1 Do

n = n + 1 t= ---1---

term= ---2-----

Loop While t > 0.000000000000001 form1.print \End Sub

程序调试17

Option Explicit Public Sub qiuN()

'该过程是用于求出满足不等式1+2x+3x^2+4x^3+?+(n+1)x^n<1000的最大n值, '其中x是大于等于1的实数,其值由键盘输入。

Dim x As Single, s As Single, n As Integer, s1 As Single, p As Single x = Val(InputBox(\ s = 1: n = 1 p = x

while ----1---- s1 = s

s = s + (n + 1) * p p=p* ----2---- n= ----3---- Wend

n= ----4-----

form1.Print \End Sub

35

三、多重循环

程序调试18

Public Sub prt()

'该过程是输出由数字组成的如下所示金字塔图案 ' 9 ' 888 ' 77777 ' 6666666 ' 555555555 ' 44444444444 ' 3333333333333 ' 222222222222222 ' 11111111111111111

Dim i As Integer, j As Integer '******** 错误1 ******** For i = 9 To 1

Form1.Print Space(i); For j = 1 To 19 - 2 * i '*********错误2 ******** Form1.Print i Next j

Form1.Print Next i

'*********错误3 ******** End Function

程序调试19

Option Explicit

Public Sub pyramid()

'该过程用于打印数字金字塔 ' 1 ' 222 ' 33333 ' 4444444 ' 555555555 ' 6666666 ' 77777 ' 888 ' 9 Dim i As Integer Dim j As Integer

Dim start As Integer '每行起始空格数 Dim num As Integer '每行数字个数 For i = 1 To 9

If i <= ---1---- Then

36

start = 20 - i num = 2 * i - 1 Else

start = 10 + i num = 19 - 2 * i End If

For j = 1 To ---2----

Form1.Print Tab(start+j);---3---- Next j

Form1.Print Next i End Sub

程序调试20

Public Sub prime()

'该过程是输出100到200之间所有的素数,并统计素数的个数 Dim i As Integer Dim j As Integer Dim k As Integer

Dim t As Integer '统计素数的个数 Dim b As Boolean For i = 100 To 200 b = True

k= ------ 1 ------- j = Int(Sqr(i))

Do While k <= j And b If i Mod k = 0 Then ------ 2 ------ End If

------ 3 ------ Loop

if ------ 4 ------- then t = t + 1 Form1.Print i End If Next i

Form1.Print \End Sub

四、一维数组

程序调试21

Option Explicit

Public Sub aboveave()

' 该过程是产生30个1--100之间的随机整数 ' 计算这30个数的平均值

37


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

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

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

马上注册会员

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