我有一个文件存储一类学生的考试成绩.我正在尝试编写一个程序,该程序可以成功打开文件,读取考试分数,找到平均分数,最高分数和最低分数,并打印出来.平均分数应在小数点后打印2位数.
这是我到目前为止:
static void Main()
{
string myData = "";
int temp = 0;
int max = 0;
int min = 0;
double average = 0;
StreamReader fileReader = new StreamReader("data.txt");
do
{
myData = fileReader.ReadLine();
if (myData != null)
{
max = int.Parse(myData);
temp = int.Parse(myData);
if (temp > max)
temp = max;
}
} while (myData != null);
fileReader.Close();
Console.ReadLine();
}//End Main()
Run Code Online (Sandbox Code Playgroud)
我不知道如何继续.如何读取新行并将其分配给temp?我不认为我做得对.
这是让你老师伤心的一种方式:P
static void Main(string[] args)
{
var file = new StreamReader("scores.txt");
var split = file.ReadToEnd().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
IEnumerable<int> ints = split.Select(x => int.Parse(x));
Console.WriteLine("Total Scores:" + ints.Count());
Console.WriteLine("Max:" + ints.Max());
Console.WriteLine("Min:" + ints.Min());
Console.WriteLine("Average:" + ints.Average().ToString("0.00"));
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
虽然这在技术上是正确的,但这对于理解算法(无论它们可能是什么)都是适得其反的,我建议你看看其他答案.但这证明了.NET框架的多功能性.
<3 LINQ
归档时间: |
|
查看次数: |
2064 次 |
最近记录: |