我试图从用户那里获得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/