gpt4 book ai didi

c# - 如何排除数组的值?

转载 作者:太空狗 更新时间:2023-10-29 21:09:24 24 4
gpt4 key购买 nike

如何创建排除最低温度并计算平均温度的方法。我只想要一个提示而不是完整的解决方案,因为我想自己解决我的编程问题。我只有大约 10 节课……来评论人们的评论,我的教授没有讲课,我读过我的书,并多次回顾它。

我制作这个程序是为了从用户那里获取一个号码。该数字被添加到数组中。该数组用于创建类 Temp 的实例以打印最低和最高温度。

class Program
{
static void Main(string[] args)
{
Console.Write("Enter a Temperature in Degrees:");
string n = Console.ReadLine();
int number = Convert.ToInt32( n);
Temp t = new Temp(100, 52, 98, 30, 11, 54, number);
Console.WriteLine("Lowest Temperature:{0}", t.lowest());
Console.WriteLine("Highest Temperature: {0}", t.highest());
Console.WriteLine("Average Temperature: {0}", t.Average());
}

public class Temp
{
private int[] temp = new int[7]; // array
public Temp(int d1, int d2, int d3, int d4, int d5, int d6, int d7) // constructor with 7 parameters
{
temp[0] = d1; // assigning constructor parameters to array
temp[1] = d2;
temp[2] = d3;
temp[3] = d4;
temp[4] = d5;
temp[5] = d6;
temp[6] = d7;
}

public int lowest() // returning the lowest value of the set of numbers
{
int smallest = 150;
for (int c = 0; c < 7; c++)
{
if (temp[c] < smallest)
{
smallest = temp[c];
}

}
return smallest;
}

public int highest()
{
int highest = -1;
for (int c = 0; c < 7; c++)
{
if (temp[c] > highest)
{
highest = temp[c];
}
}

return highest;
}

public double Average()
{
double average = 0;
for (int c = 0; c < 7; c++)
{

}
return average;
}
}
}

最佳答案

这很容易用一个循环完成:

public double Average()
{
// Initialize smallest with the first value.
// The loop will find the *real* smallest value.
int smallest = temp[0];

// To calculate the average, we need to find the sum of all our temperatures,
// except the smallest.
int sum = temp[0];

// The loop does two things:
// 1. Adds all of the values.
// 2. Determines the smallest value.
for (int c = 1; c < temp.Length; ++c)
{
if (temp[c] < smallest)
{
smallest = temp[c];
}
sum += temp[c];
}
// The computed sum includes all of the values.
// Subtract the smallest.
sum -= smallest;

double avg = 0;
// and divide by (Length - 1)
// The check here makes sure that we don't divide by 0!
if (temp.Length > 1)
{
avg = (double)sum/(temp.Length-1);
}
return avg;
}

关于c# - 如何排除数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17579656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com