早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用VB编程.输入30位同学的编号和成绩,求他们的平均成绩,并输出高于平均分的同学编号和成绩……用VB编程.输入30位同学的编号和成绩,求他们的平均成绩,并输出高于平均分的同学编号和成绩,

题目详情
用VB编程.输入30位同学的编号和成绩,求他们的平均成绩,并输出高于平均分的同学编号和成绩……
用VB编程.输入30位同学的编号和成绩,求他们的平均成绩,并输出高于平均分的同学编号和成绩,以及这些同学的人数.
提示:声明两个大小为30的一维数组ID和Score,使ID(i)表示第i位同学的编号,Score(i) 表示第i位同学的成绩.
以下是我编的程序,用VB软件运行了不对,能否告诉我哪里编错了,正确的应该是怎样?
Private Sub Form_Click()
Dim ID As Integer,I As Integer,score() As String,x As String,y As String,k As Integer
x = 0
y = 0
k = 0
For ID = 1 To 3
I = ID
ReDim score(I) As String
score(I) = Val(InputBox("输入成绩"))
x = x + score(I)
y = x / I
Next ID
Print "平均成绩="; y
For ID = 1 To 3
I = ID
If score(I) > y Then
Print "ID="; I,"成绩="; score(I)
k = k + 1
End If
Next ID
Print "人数="; k
End Sub
▼优质解答
答案和解析
Private Sub Form_Click()
Dim I As Integer, score(1 To 30) As Integer, x As Integer, y As Integer, sum As Integer
Me.AutoRedraw = True
For I = 1 To 30
score(I) = Val(InputBox("输入第" & I & "个成绩"))
sum = sum + score(I)
Next I
x = sum / 30
Print "平均成绩="; x
Print "大于平均值的有:"
For I = 1 To 30
If score(I) > x Then
Print "ID:" & I & " 成绩:" & score(I)
y = y + 1
End If
Next
Print "高于平均人数为:" & y
End Sub
看了 用VB编程.输入30位同学的...的网友还看了以下: