我不知道从哪里开始。我想我已经初始化了一个二维数组,并用用户输入填充它,但我无法得到它的平均值。那么有没有办法我可以分别平均这个数组的行?
此外,如果有更好的方法来编写此代码,那么任何帮助都会很棒。我还将在本书的最底部发布原始问题。
Public Class frmMain
Structure TestScores
Public decTest1 As Decimal
Public decTest2 As Decimal
Public decTest3 As Decimal
End Structure
Dim test(2) As TestScores
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
test(0).decTest1 = InputBox("Score 1:", "First Person")
test(0).decTest2 = InputBox("Score 2:", "First Person")
test(0).decTest3 = InputBox("Score 3:", "First Person")
test(1).decTest1 = InputBox("Score 1:", "Second Person")
test(2).decTest2 = InputBox("Score 2:", "Second Person")
test(2).decTest3 = InputBox("Score 3:", "Second Person")
test(3).decTest1 = InputBox("Score 1:", "Third Person")
test(3).decTest2 = InputBox("Score 2:", "Third Person")
test(3).decTest3 = InputBox("Score 3:", "Third Person")
End Sub
Private Function GetAverage(ByVal scores As TestScores) As Decimal
' calculates and returns the average score
Dim decTotal As Decimal
decTotal = scores.decTest1 + scores.decTest2 + scores.decTest3
Return decTotal / 3
End Function
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
End Sub
Private Sub btnAverage_Click(sender As Object, e As EventArgs) Handles btnAverage.Click
' displays the average test score
Dim max1 As Integer = 0
Dim max2 As Integer = 0
Dim max3 As Integer = 0
max1 = (test(0) + test(1))
End Sub
结束班
书籍问题: 打开“代码编辑器”窗口。 btnAverage_Click过程应该声明一个 三元素结构变量数组;每个元素都包含测试分数 为一个学生。该程序应提示用户进行学生的三次测试 得分然后将得分存储在数组中的一个结构变量中。然后呢 应该使用该功能来确定学生的平均分数。最后,它应该 显示学生的编号(1,2或3)以及平均分数(格式化 在lblResult控件中有一个小数位)。保存解决方案,然后开始和 测试应用程序。图21-14显示了应用程序运行时的示例 用户输入以下分数:100,100,100,90,85,78,73,72和67.关闭 代码编辑器窗口然后关闭解决方案。
答案 0 :(得分:0)
不一定需要单独的功能。只需计算数组中每个元素的平均值max1 = (test(0).decTest1 + test(0).decTest2 + test(0).decTest3)\3
。
由于你将max1声明为整数,我使用整数除法(),它自动将答案格式化为整数。