我写了一个计算Sum,Average,Min和amp;的程序。 Max没有inbulit函数或方法。我发现了许多技术并锁定在下面。 但问题是,在做正常方式的同时。结果来了。 转换到Windows窗体时,我无法获得输出。它总是会引发错误。
sum : 45
avg : 15
min : 8
max : 10
输出应该是,
{{1}}
答案 0 :(得分:1)
我认为,您的代码中存在问题:
textBox5.Text = numbers[-1].ToString();
你的数组中没有-1索引的条目。
如果要在textBox5中显示最大值,则需要执行以下操作:
textBox5.Text = numbers[n-1].ToString();
如果你想在textBox5中显示最小值,你需要这样做:
textBox5.Text = numbers[0].ToString();
谢谢!
答案 1 :(得分:1)
将数组i设置为包含通过表单上的用户输入传入的所有值。然后,您可以使用此代码获取所需的所有值。然后将变量iMax,iMin,iSum和flAvg写入输出标签。在这个例子中,我只是将自己的数据用于说明代码。
int[] i = { 1, 2, 3, 4, 5 };
int iSum = 0;
float flAvg = 0.0f;
int iMax = 0;
int iMin = Int32.MaxValue;
foreach (int iElement in i)
{
iSum = iSum + iElement;
flAvg = flAvg + iElement;
if (iElement > iMax)
{
iMax = iElement;
}
if (iElement < iMin)
{
iMin = iElement;
}
}
flAvg = flAvg / i.Length;
//carry on to do stuff with the data down here.
答案 2 :(得分:0)
更改此行的代码:
textBox5.Text = numbers[n-1].ToString();
因为-1不是这里的索引,你在这里选择最大值,它将是n-1索引。
以及代码行:
numbers[i] = int.Parse(textBox1.Text);
使用它:
numbers[i] = Convert.ToInt32(textBox1.Text);
答案 3 :(得分:0)
使用linq,非常干净,工作正常:
{{1}}