重写程序使用数组而不是5个变量' age'

时间:2017-02-11 19:35:09

标签: arrays vb.net function

(i)重写使用数组的程序,而不是使用5变量' age' (ii)重新编写利用子程序和功能的程序。一个子程序将询问所有输入。函数将接收输入作为参数,计算平均值并返回答案。第二个子例程将显示为答案。

程序:

Dim age1, age2, age3, age4, age5 As Integer
Dim average As Double

average = 0

age1 = InputBox("Enter age:")
age2 = InputBox("Enter age:")
age3 = InputBox("Enter age:")
age4 = InputBox("Enter age:")
age5 = InputBox("Enter age:")

average = (age1+age2+age3+age4+age5) / 5

MsgBox("Average age is " & average)

我的回答是否正确?

Dim age (5)  As Integer
Dim sum, average as Double

average = 0 

For i as Integer 0 - 5

Next 

average = sum/5

MsgBox ("Average age is " & average) 

2 个答案:

答案 0 :(得分:1)

有几个错误,但我首先想到的是阵列。默认情况下,数组索引从0开始,在VB.Net中定义数组时,为其提供最后一个元素的索引。因此,定义为Dim age(5) As Integer的数组的位置为012345。计算em,以及六个总元素。

此外,问题特别要求您使用功能,这些功能在此处均未显示或定义,并且您的样本实际上从未计算过平均值。如果是这样,您应该返回值而不是将元素添加到ListBox或其他控件。

比这更有帮助,我觉得我在为你服务。练习的重点似乎是让你练习自己做这些东西。

更新原件,因为OP似乎无法理解她需要什么。

这是一项作业,与学校作业的情况一样,还有人工约束。在不使用函数或数组的情况下解决问题可能是完全可能的 - 甚至更容易 - 但这样做仍然会导致赋值失败。此分配中的第一步是定义要求中提到的数组和方法。您需要两个带有签名的函数,如下所示:

Public Function GetInput() As Int()
   '...
End Function

Public Function GetAverage(ByVal ages() As Integer) As Double
   '...
End Function

然后你需要更新程序以实际调用这些新方法。实现这两个函数以及调用它们的代码仍然取决于OP。但是将函数放入代码中是首先要做的事情,而且看起来OP似乎还没有理解这一点。

答案 1 :(得分:0)

事实上,你的问题的答案是否定的......

但你很亲密......

继续尝试。你会明白的。

你会知道你什么时候“正确”然后它给你正确的答案,虽然我假设你有权使用开发工具......对于家庭作业来说这是一个很大的假设。

如果你不这样做,我建议你在excel或纸上做一张表,如下所示......

enter image description here

它显示了您将在顶部使用的变量列表以及左侧的步骤时间。

现在,您可以手动关注每个步骤的代码,并在您进行或更改时输入变量的值。

如果你在最后得到正确的答案..

假设没有明显的语法错误,你可能会认真对待。