计算数组中的数字在1.5 - 35 C之间#

时间:2017-04-09 03:41:44

标签: c# inner-classes

我试图弄清楚如何计算数组中有多少数字落在1.5 - 35之间。我正在努力找出应该使用哪种方法来实现这一目标。我想的可能是for-each嵌入式循环,但是我越想到它就越多我对该方法的质疑。任何帮助将不胜感激,我将如何实现这一点,我将在下面发布我的当前代码,因为我已经研究了如何计算等式的平均和最低价格。

class Program
{
    static void Main(string[] args)
    {
        read_stock_price();
    }
    static void read_stock_price()
    {
        Console.Write("Enter how many stocks to enter price for: ");
        int numStocks = Convert.ToInt32(Console.ReadLine());

        double[] arrayinput = new double[numStocks];

        for (int i = 0; i < numStocks; ++i)
        {
            Console.Write("Enter price for stock number: ");
            arrayinput[i] = Convert.ToDouble(Console.ReadLine());
        }

        double sum = arrayinput.Sum();
        double average = sum / numStocks;

        Console.WriteLine("Average price: {0} out of {1} stocks", average, numStocks);
        Console.WriteLine("Minimum price: {0}", arrayinput.Min());

    }
}

3 个答案:

答案 0 :(得分:2)

您可以使用LINQ而不是var count = arrayinput .Where(x => 1.5 <= x && x <= 35.0) .Count(); 。首先过滤数组然后计算元素。

{{1}}

答案 1 :(得分:1)

最短的方式是Enumerable.Count

var count = arrayinput.Count(x => 1.5 < x && x < 35.0);

答案 2 :(得分:0)

如果我们假设 arrayinput 是您填充的数组,您可以使用它:

     double[] arrayinput = new double[numStocks];

     double[] filteredArray = arrayinput.Where(p => p > 1.5 && p < 3.5).ToArray();

     int count = filteredArray.Count();

此代码过滤您的数组,其值介于1.5和1.5之间。 3.5。