需要帮助接受 7 个双倍值,代表服务员在一周内每天赚取的小费

本文关键字:一周 服务员 每天 帮助 | 更新日期: 2023-09-27 18:31:46

这是问题所在:

编写一个名为 TipsList 的程序,该程序接受七个双精度值 代表服务员在一周内每天赚取的小费。显示 每个值以及指示其距离的消息 从平均水平。

这就是我到目前为止所发现的。

   static void Main(string[] args)
    {
        double[] tips;
        tips = new double[7];
        double one = tips[0];
        double two = tips[1];
        double three = tips[2];
        double four = tips[3];
        double five = tips[4];
        double six = tips[5];
        double seven = tips[6];
        double average = (one + two + three + four + five + six + seven) / 7;
        //Now I am trying to take the tip 1,2,3,4,5,6, and 7 that the user has entered
        //And display the diffrence of tip 1,2,3,4,5,6, and 7 from the average
        //So one-average = tip 1 console.Write tip1 ??????
        for (int i = 0; i <= 6; i++)
        {
            Console.Write("Please enter the amount of tips earned by waiter #" + i + ".");
            tips[i] = Console.Read();
            Console.Write("tips 1????????????HELP");
        }
    }
}

了解我将如何尝试并认为我应该这样做

one-average = tip 1 console.Write tip1 ?????

但 C# 不喜欢它。我只是不明白它仍然做 C# 只让我以 1 种确定的方式做到这一点。

需要帮助接受 7 个双倍值,代表服务员在一周内每天赚取的小费

我刚刚意识到这是针对一堂课的,所以我会远离Linq,这对任何老师来说都太明显了。

只需写出从平均值中取出的每个值

foreach(double tip in tips)
{
Console.WriteLine(Average - tip);
}

编辑 刚刚意识到问题是获取输入。

您最好使用TryParse因为这将处理无效输入

while(!double.TryParse(Console.ReadLine(), out tips[i]))
{
    Console.WriteLine("Thats not a valid number");
}

使用类似这样的东西:

double[] tips = new double[7];
for (int i = 0; i < tips.Length; i++)
{
    Console.Write("Please enter the amount of tips earned by waiter #" + i + ": ");
    tips[i] = double.Parse(Console.ReadLine());
}
double average = tips.Average();
//without linq
/*
double sum = 0;
for (int i = 0; i < tips.Length; i++)
{
    sum = sum + tips[i];
}
double average = sum / tips.Length;
*/
for (int i = 0; i < tips.Length; i++)
{
    Console.WriteLine("Tip #" + i + " is: " + tips[i] + " - The difference between the average is: " + Math.Abs(tips[i] - average));
}
Console.ReadLine()

我自己在做这个程序,我意识到它实际上是在要求一个 2D 数组,因此一周 7 天的 7 个输入。 您可以通过使用 double[,] tips = new double[7, 7]; 然后,您将使用 2 个循环来访问每个索引元素

 for (int i = 0; i < 7; i++)
     {
       for (int j = 0; j < 7; j++)
            {
              tips[i, j] = int.Parse(Console.ReadLine());
            }
      }`
然后,

您将首先得到一个平均值(即根据您希望数据的准确性,将每天(7)或一周(49)的所有索引的总和相加,然后除以)