C# 查找用户输入数据C的最小值和最大值(不带Linq)
我有一个程序,我正在为期中考试做练习,它是一个简单的成绩册程序,允许用户输入他们想要的从0到100的任意多个成绩。我有各种各样的东西,计算在最后,工作良好,但我需要的程序也显示最低和最高的成绩。我看到另一篇帖子,有人谈论linq,我还没有研究过它,也没有研究过它。我想如果书上没有,我现在就不需要了。代码很长,所以我将尝试只包含我认为必要的内容C# 查找用户输入数据C的最小值和最大值(不带Linq),c#,C#,我有一个程序,我正在为期中考试做练习,它是一个简单的成绩册程序,允许用户输入他们想要的从0到100的任意多个成绩。我有各种各样的东西,计算在最后,工作良好,但我需要的程序也显示最低和最高的成绩。我看到另一篇帖子,有人谈论linq,我还没有研究过它,也没有研究过它。我想如果书上没有,我现在就不需要了。代码很长,所以我将尝试只包含我认为必要的内容 using System; public class GradeBook { private int total; private in
using System;
public class GradeBook
{
private int total;
private int gradeCounter;
private int aCount;
private int bCount;
private int cCount;
private int dCount;
private int fCount;
// automatic popert CourseName
public string CourseName { get; set; }
然后为了得到用户的输入
public void InputGrades()
{
int grade; //grade made by user
string input; //text entered by user
Console.WriteLine("{0}\n{1}",
"enter integer in the range of 0-100.",
"Type <ctrl> Z and press endter to terminate input:");
input = Console.ReadLine(); //user input
//loop until user enters the end of file indicator
while (input != null)
{
grade = Convert.ToInt32(input);
total += grade; //create total to form sum
++gradeCounter;//increment the number of grades for average
// call method to increment appropriate counter
IncrementLetterGradeCounter(grade);
input = Console.ReadLine();
}//end while(input != null)
这是我的第一篇帖子,所以如果我做错了什么,请告诉我。如果需要更多代码,请告诉我。将这两个代码添加到int grade下
int high = 0;
int low = 100;
然后在你的while循环中
if(input > high) high = input;
if(input < low) low = input;
你的问题是什么?如果你想找到最低等级和最高等级,你需要将每个值与当前最低和当前最高等级进行比较。如果它低于最低值,用最高值替换。好吧,至少这一个有一些代码。好的,我们不知道它是否有效,或者问题是什么,但仍然…是的-用100初始化最低值,用0初始化最高值。这个问题的答案展示了crashmstr的答案。这基本上是从高和低中提取一个变量,然后按照crashmstr的建议做,基本上做一个冒泡排序?我说得对吗?我不确定我会称之为泡沫排序。但是,是的,你会得到最高和最低的分数,然后你可以将它存储在任何你需要的地方。如果它解决了你的问题,请接受我的回答:-这里根本没有排序。数组、列表的顺序保持不变。您只找到了高值和低值。因此,正式来说,它不是一种排序,但其要点是它检查每一个新的数据段,直到循环终止。如果该值较高/较低,则将其存储在声明为Max/Min的新变量中。。。好了,这现在有意义了。对不起,我看起来很笨,但我只编程了几个星期,所以我的大脑还没有完全适应像程序员一样思考。我快到了!
Console.WriteLine("The highest grade was: " + high);
Console.WriteLine("The lowest grade was: " + low);