VB 5个 问题 每个20分

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:28:45
1.以下程序的功能是:从键盘上输入若干个学生的考试分数,统计并输出最高分数和最低分数,当输出负数时结束输出,输出结果。请填空。
答案 x < 0 x < amin
Private Sub Form_Click()
Dim x As Single, amax As Single, amin As Single
x = InputBox("Enter a score")
amax = x
amin = x
Do While ————
If x > amax Then
amax = x
End If
If ———— Then
amin = x
End If
x = InputBox("Enter z score")
Loop
Print "Max ="; amax, "Min ="; amin
End Sub

2.在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码:
答案: C
Option Base 1
Private Sub Command1_Click()
Dim a(10) As Integer, p(3) As Integer
k = 5
For i = 1 To 10
a(i) = i
Next i
For i = 1 To 3
p(i) = a(i * i)
Next i
For i = 1 To 3
k = k + p(i) * 2
Next i

我说的有点乱,请原谅

【1】
x = InputBox("Enter a score") 表示输入数据
Do While x > 0(答案有误) ... Loop 表示如果输入的数据不是负数,就继续循环输入数据。

因为输入成绩的时候在比较,所以当成绩输入完毕之后,最大值和最小值就求出来了。
If x > amax Then amax = x 表示如果x比当前的最大值大,就将x设置为最大值
If x < amin Then amin = x是和上面类似的代码

【2】
For i = 1 To 10
a(i) = i
Next
作用:让数组a的每个元素的值等于每个元素的序号

For i = 1 To 3
p(i) = a(i * i)
Next
作用:同下面代码(i * i求的是序号而不是值,a(i*i)求的是值)
p(1) = a(1 * 1)
p(2) = a(2 * 2)
p(3) = a(3 * 3)
这时p(1)=1,p(2)=4,p(3)=9

For i = 1 To 3
k = k + p(i) * 2
Next i
作用:让k加上p(i)的值的二倍,就是
k = 5 + p(1) * 2 + p(2) * 2 + p(3) * 2 = 5+2+8+18=33

【3】
a = Array(1, 2, 3, 4)说明a(1)=1,a(2)=2,a(3)=3,a(4)=4
For i=4 To 1 Step -1 ...说明i是从4到1递减

s的初始值是0,
循环开始后,i为4,a(i)为4,j为1,所以s为4
接下来i为3,a(i)=3,j为10(因为有j = j*10),所以s为4+3*10=34
……
最后s就是1234

【4】
答案的两部分是用回车分开的。<