VB上机试题及答案_vb上机试题及答案

2020-02-28 其他范文 下载本文

VB上机试题及答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vb上机试题及答案”。

上机操作练习题

1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换。在窗体上输出数组原来各元素的值与对换后各元素的值。

Option explicit Dim a(1 to 20)as integer, I as integer, j as integer, t as integer Private Sub Form_Load()Show Print “原始数组是:” Randomize For i = 1 To 20

a(i)= Int(Rnd * 90)+ 10

Print a(i);If i Mod 10 = 0 Then Print Next i Print Print “现在数组是:” For i = 1 To 10

j = 211

a(k)= a(k + 1)

Next k

ReDim Preserve a(UBound(a)1 End If i = i + 1 Loop While(i

注意:要求利用动态数组,能够实现多次插入 Private Sub Form_Load()Show n = 8: ReDim a(n)a = Array(5, 15, 23, 52, 68, 88, 90, 99)n = n + 1: ReDim Preserve a(n)m = InputBox(“请输入要插入的数据:”)For i = 1 To n1)Next k a(k)= m For i = 1 To n

Print a(i);Next i Print End Sub 4.6个评委为4位歌手打分,分数介于1-100之间。去掉一个最高分,一个最低分,求出每位选手的最后得分。将4位歌手得分从高到低排列输出,同时输出该选手的编号。

如:

歌手3 95分 歌手 1 87分 歌手 4 80分 歌手 2 70分/ 19

Option Base 1

Private Type geshou

xuhao As String

fenshu(6)As Integer

score As Integer

pingjun As Integer End Type Dim singer(1 To 4)As geshou Private Sub Command1_Click()For i = 1 To 4 For j = 1 To 6

singer(i).fenshu(j)= Int(Rnd * 100)

singer(i).xuhao = “歌手” & i Next Next Call paixu End Sub

Private Sub paixu()Dim p As geshou For i = 1 To 4

For j = 1 To 5

For k = j To 6

If singer(i).fenshu(j)> singer(i).fenshu(k)Then

t = singer(i).fenshu(j)

singer(i).fenshu(j)= singer(i).fenshu(k)

singer(i).fenshu(k)= t

End If

Next

Next Next For i = 1 To 4 For j = 2 To 5

singer(i).score = singer(i).score + singer(i).fenshu(j)Next singer(i).pingjun = singer(i).score / 4 Next

For i = 1 To 3 For j = i To 4

If singer(i).score

p = singer(i): singer(i)= singer(j): singer(j)= p

End If Next/ 19

Next For i = 1 To 4 Print singer(i).xuhao & “得分:” & singer(i).pingjun Next End Sub Private Sub Form_Load()End Sub 10个评委给10个选手打分 Private Sub Form_Load()Show n = UBound(b)For i = 1 To 10

For j = 1 To 10

a(i, j)= Val(InputBox(“请第” & j & “位评委给第” & i & “位选手打分:”))Next j Next i For i = 1 To 10

max = a(i, 1): sum = 0

min = a(i, 1): ave = 0

For j = 1 To 10

If a(i, j)> max Then max = a(i, j)

If a(i, j)

sum = sum + a(i, j)

Next j

ave =(summin)/(n1

For j = i + 1 To n

If b(i)

t = b(i): b(i)= b(j): b(j)= t

End If

Next j Next i Print “选手的得分由高到低为:” For i = 1 To 10

Print b(i);Next i End Sub 5.编写函数求一元二次方程ax2+bx+c=0的解。

注意:要求考虑方程有两相等实根、两不等实根和两个虚根的情况。Dim a As Single, b As Single, c As Single Dim s As Single a = InputBox(“请输入a”)/ 19

b = InputBox(“请输入b”)c = InputBox(“请输入c”)s = b ^ 2Sqr(s))/ 2 * a End If End Sub 6.任意输入一组字符,统计出大写字母多少个,小写字母多少个,数字多少个?要求用过程实现。

Call tongji(a, n, m, o)Print “数字:” & n & Chr(13)& “小写:” & m & Chr(13)& “大写:” & o End Sub Private Sub tongji(a As String, n As Integer, m As Integer, p As Integer)For i = 1 To Len(a)If Asc(Mid(a, i, 1))> 47 And Asc(Mid(a, i, 1))

n = n + 1 ElseIf Asc(Mid(a, i, 1))> 96 And Asc(Mid(a, i, 1))

m = m + 1 ElseIf Asc(Mid(a, i, 1))> 64 And Asc(Mid(a, i, 1))

p = p + 1 End If Next End Sub 7.随机产生一个5*5的矩阵,将主对角线和次对角线元素都置为1,并求出矩阵的四周元素之和,显示在列表框中。

Option Base 1 Private Sub Form_Load()Dim a(5, 5)As Integer Dim s As Integer For i = 1 To 5 For j = 1 To 5

If i = j Or i = 6Asc(Mid(s1, i, 1))+ 64)ElseIf Asc(Mid(s1, i, 1))96 Then convert = convert & Chr(1235: g = e

For j = 1 To n

If j > i Then

a(i, j)= 0

Else

If i = j Then

a(i, j)= 1

Else

a(i, j)= a(i1, ji + 1);String(2 *(i1)/ 2 To 1 Step(-1)

c = c + 1

s = Chr(64 + ii + c + 1);String(2 *(j1)/ 2 Else

x = x / 2 End If i = i + 1 Loop

ReDim Preserve a(UBound(a))If y

/ 19

convert = convert & a(i)Next End If

End Function Private Sub Command1_Click()Dim y As Integer Text1.Text = “” y = InputBox(“请输入十进制数字”)Text1.Text = convert(y)

End Sub

Private Sub Form_Load()

End Sub 14.输入一个整数N,产生N个随机数(范围1—10*N),然后采用任何2种算法实现由小到大的排序。将排序前后的数据显示出来。

Option Base 1 Private Sub Command1_Click()Dim a()As Integer, n As Integer n = InputBox(“请输入数列项数”)ReDim a(n)For i = 1 To n

a(i)= Int(Rnd * 10 * n + 1)

Print a(i);Next Print ReDim Preserve a(n)For i = 1 To n1 For j = 1 To n2)+ fact(n2 s = s1 + s2: t = s2: s2 = s: s1 = t Next End Function

Private Sub Command2_Click()n = InputBox(“请输入n”)Print s(n)End Sub 17.编写2个函数,分别采用递归法和递推法求斐波纳契数列的第n个月的兔子数,n使用inputbox输入,调用函数的结果在窗体上显示。Private Sub Command1_Click()List1.Clear Dim i As Integer For i = Val(Text1.Text)To Val(Text2.Text)If isprime(i)= True Then

List1.AddItem(i)

c = c + 1

If i Mod 10 = 9 Then/ 19

List1.Selected(c1 If n Mod i = 0 Then

isprime = False

Exit For End If Next End Function 18 Dim sum As Long Private Sub Command1_Click()

Dim i As Integer, j As Integer, a(40)As Long

a(1)= 1

a(2)= 1

For i = 3 To 40

a(i)= a(i2)

Next i

sum = 0

For j = 1 To 40

sum = sum + a(j)

Next j End Sub

Private Sub Command2_Click()

Open “out18.txt” For Output As #1

Print #1, “数列1,1,2,3,5,8…的前四十项的之和是:”

Print #1, sum

Close #1 End Sub 1.百钱买百鸡

Option Explicit

Private Sub Command1_Click()Dim a As Integer, b As Integer For a = 1 To 34

For b = 1 To 20

If 3 * a + 5 * b +(100b)/ 3 = 100 Then/ 19

Print a;

Print b;

Print 100b

End If

Next b Next a End Sub 2.分钱作业

Private Sub Command1_Click()Dim a As Single,b as single,c as single a = Text1.Text b = Fix(a / 100)Print “100元:”;Print b c = ab * 50

b = Fix(c / 20)Print “20元:”;Print b c = c0.05 * b b = Fix((c + 0.005)/ 0.02)Print “0.02元:”;Print b c = c1

If a(i)= a(j)Then

GoTo aaa

End If

Next j

Next i For i = 1 To 10

Print a(i);Next i Print End Sub

Private Sub Command2_Click()Dim i As Integer, j As Integer, t As Integer For i = 1 To 9

For j = 1 + i To 10

If a(i)> a(j)Then

t = a(j)

a(j)= a(i)

a(i)= t

End If

Next j Next i For i = 1 To 10

Print a(i);Next i Print

End Sub

Private Sub Command3_Click()Dim i As Integer, j As Integer, t As Integer For i = 1 To 9

For j = 1 To 10c)> 10 ^(-5)i =(a + b)/ 2

If i ^ 2c = 0 Then

Exit Do

Else

a = i

End If Loop MsgBox(i)End Sub 7.闰年

Option Explicit

Private Sub 计算_Click()Dim i As Integer i = InputBox(“请输入一个年份”)If i Mod 4 = 0 And i Mod 400 = 0 Then

If i Mod 100 0 Then

MsgBox “NOT”

Else

MsgBox “YES”

End If Else

MsgBox “NOT” End If

End Sub 8.三角

Option Explicit Private Sub Command1_Click()/ 19

Dim a As Single Dim b As Single Dim c As Single Dim p As Single Dim s As Single

a = Text1.Text b = Text2.Text c = Text3.Text

p =(a + b + c)/ 2

s = Sqr((pb)* p +(p1

If n Mod i = 0 Then

MsgBox “NOT”

Exit For

End If Next i If i = n Then

MsgBox “YES” End If End Sub

Private Sub Command2_Click()

Dim a As Boolean, n As Double, i As Double a = False n = InputBox(“请输入一个数:”)For i = 2 To n-1

If n Mod i = 0 Then

a = True

Exit For

End If Next i If a = True Then/ 19

MsgBox “NOT” Else

MsgBox “YES” End If End Sub

Private Sub Command3_Click()Dim n As Double, i As Double n = InputBox(“请输入一个数:”)i = 2 Do While i

If n Mod i = 0 Then

MsgBox “NOT”

Exit Do

End If i = i + 1 Loop If i = n Then

MsgBox “YES” End If End Sub

Private Sub Command4_Click()Dim n As Double, i As Double, sushu As Boolean n = InputBox(“请输入一个数:”)i = 2 sushu = True Do While i

If n Mod i = 0 Then

sushu = False

End If i = i + 1 Loop If sushu = True Then

MsgBox “YES” Else

MsgBox “NOT” End If End Sub/ 19

《VB上机试题及答案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
VB上机试题及答案
点击下载文档
相关专题 vb上机试题及答案 试题 答案 vb vb上机试题及答案 试题 答案 vb
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文