我试图从用户那里获得5次输入,并将这些值添加到marks数组;

然后,它将计算平均值并相应地打印正或负。但是,我不能接受用户的输入,它只显示“输入5个元素”。从用户获得输入后,如何将它们添加到标记数组?任何提示都会有所帮助。

using System;

    using System.Collections.Generic;
    using System.Linq;
    using System.Text.RegularExpressions;
    class Program
    {
        static void Main()
        {
                double average =0;
                int [] marks = new int[] { };

                 for (int a = 0; a < 5; a++){
                    Console.WriteLine("Enter 5 elements:");
                string line = Console.ReadLine();
                 Console.WriteLine(line);

            }
                for (int i = 0; i < marks.Length; i++){
                    average = marks.Average();
            }
                if(average>0){
                    Console.WriteLine("Positive");
                }else{
                    Console.WriteLine("Negative");
                }
        }
    }

最佳答案

我将结合使用while循环和int.TryParse来检查用户输入是否为数字。同样,将average = marks.Average();放入for循环中也没有任何意义,因为LINQ Average计算集合的平均值(在您的情况下为marks数组)。

static void Main()
{
    int[] marks = new int[5];

    int a = 0;

    Console.WriteLine("Enter 5 elements:");

    while (a < 5)
    {
        if (int.TryParse(Console.ReadLine(), out marks[a]))
            a++;
        else
            Console.WriteLine("You didn't enter a number! Please enter again!");
    }

    double average = marks.Average();

    if (average > 0)
        Console.WriteLine("Positive");
    else
        Console.WriteLine("Negative");
}


DEMO HERE

关于c# - 获取用户输入并将其添加到C#的数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50169648/

10-12 12:42
查看更多