【发布时间】:2017-02-13 00:43:44
【问题描述】:
所以,我将双精度值输入数组,然后创建总和(没有最大值和最小值)、平均值、最大值和最小值。一切正常,但是min永久为0,不知道怎么办;
注意:不要使用 Max() 和 Min() 方法
static void Main(string[] args)
{
double avr = 0;
double sum = 0;
double max;
double min;
Console.WriteLine("how many numbers?");
int b = Convert.ToInt32(Console.ReadLine());
double[] arr = new double[b];
max = arr[0];
min = arr[0];
for (int i = 0; i < b; i++)
{
arr[i] = Convert.ToDouble(Console.ReadLine());
if (arr[i] >= max)
{
max = arr[i];
}
else if (arr[i] <= min)
{
min = arr[i];
}
sum += arr[i];
}
sum = sum - max - min;
avr = sum / (b - 2);
Console.WriteLine("sum = {0},average = {1}, max = {2}, min = {3}", sum, avr, max, min);
Console.ReadKey();
}
【问题讨论】:
-
初始化你所有的双打 = 到
0d or 0.0 -
max = double.minvalue; min = double.maxvalue;然后将 else if 转换为简单的 if
-
是的,让
else if (arr[i] <= min)简单地if (arr[i] <= min)