-1

我完全被困住了,所以我会很感激一些关于如何做到这一点的指导。

首先,这是我到目前为止的代码:

int i;
int x = 0;
int b = 0;
Console.Write("\nHow many stocks to enter price for:\t"); // enter size of array
int size = int.Parse(Console.ReadLine());
double[] arr = new double[size]; // size of array

// Accepting value from user 
for (i = 0; i < size; i++)
{
    Console.Write("\nEnter price for stock #{0}: \t", ++x);
    //Storing value in an array
    arr[i] = Convert.ToDouble(Console.ReadLine());
}

Console.WriteLine("\n\n");

//Printing the value on console
for (i = 0; i < size; i++)
{
    Console.WriteLine("Average Price: " + arr.Average() + " out of {0} stocks", x);
    Console.WriteLine("Minimum Price: " + arr.Min());
    Console.WriteLine("Number of stocks priced between 1.5-35: " + b);
}

Console.ReadLine();

抱歉,我不太确定如何添加颜色。无论如何,我坚持显示价格在 1.5 到 35 之间的股票数量。在此行中显示:Console.WriteLine("Number of stocks priced between 1.5-35: "+ b);

基本上,它要求输入价格的股票数量。这将确定数组的大小。然后用户将输入股票 x 的价格,就像他们在开始时设置的那样。因此计算股票的平均价格,然后是最低价格(我坚持的)价格在 1.5 到 35 之间的股票数量。

另外,我确信我自己可以解决这个问题,但由于某种原因,它每次显示结果 2 次。对此也不太确定。

任何帮助将不胜感激,因为我已经坚持了太久了。

4

2 回答 2

1

你好@nullcat 正如@Rob 所建议的,你必须修复你的最后一个循环。此外,变量 b 从未分配过,因此您没有价格在 1.5 到 35 之间的股票数量。我添加了一个 for 语句来检查

    for (i = 0; i < size; i++)
    {
        //Check if the stock on index i is between 1.5 and 35 and add 1 to the variable b
        if(arr[i] >=1.5 && arr[i] <=35.0){
             b++
        }
    }
    //Printing the value on console
    Console.WriteLine("Average Price: "+ arr.Average() + " out of {0} stocks", x);
    Console.WriteLine("Minimum Price: "+ arr.Min());
    Console.WriteLine("Number of stocks priced between 1.5-35: "+ b);
    Console.ReadLine();

请检查一下,让我知道您的意见

于 2017-03-27T00:03:17.157 回答
1

提供一个略短的替代解决方案:

static void Main()
{
    int x = 0;
    Console.Write("\nHow many stocks to enter price for:\t"); 
    int size = int.Parse(Console.ReadLine());
    double[] arr = new double[size]; 

    for (int i = 0; i < size; i++)
    {
        Console.Write($"\nEnter price for stock #{++x}: \t");
        arr[i] = Convert.ToDouble(Console.ReadLine()); //Storing value in an array
    }

    Console.WriteLine($"\r\nAverage Price: {arr.Average()} out of {arr.Count()} stocks");
    Console.WriteLine($"Minimum Price: {arr.Min()}");
    Console.WriteLine($"Number of stocks priced between 1.5-35: " + 
        $"{arr.Where(v => v >= 1.5 && v < 35).Count()}");

    Console.ReadLine();
}
于 2017-03-27T00:39:25.567 回答