请高手解释一下这个c#控制台程序是什么意思?
//在头部这四个东西是什么??、能解释一下吗?using System;
using System.Collections.Generic;
using System.Text;
namespace hanxu
{
class Program
{
static void Main(string[] args)
{
int t = 0; int k = 1;
Console.Write("请输入全班同学的人数:");//类似c语言中的printf函数
t = Convert.ToInt32(Console.ReadLine());//不知道是不是SCANF函数
score[] stu = new score[t];
Console.WriteLine("请输入全班同学的信息:");
for (int i = 0; i < t; i++) //这个倒是可以看懂是循环语句
{
Console.WriteLine("请输入第{0}个学生信息:", k++);
stu[i] = new score();//这是什么?
stu[i].init(); //???
stu[i].AVG(); //???不懂是什么意思?
}
Console.WriteLine("按学号排序学生信息:");
Console.WriteLine(" 姓名 学号 C++ 英语 数学 平均成绩");
for (int j = 0; j < t; j++)
{
stu[j].display(); //????不懂?
}
Console.WriteLine("排序后的学生信息:");
paixu(t, stu);
Console.Read();
}
public static void paixu(int t, score[] stu) //好像是函数不知道
{
score stud = new score(); //这个就更不懂了
if (stu.Length <= 0) //判断语句在小于什么???
return; //返回值空
for (int i = 0; i < t; i++)
{
for (int j = 0; j < t - i - 1; j++)
{
if (stu[j].Avg > stu[j + 1].Avg)
{ stud = stu[j + 1]; stu[j + 1] = stu[j]; stu[j] = stud; }
}
}
Console.WriteLine(" 姓名 学号 C++ 英语 数学 平均成绩");
foreach (score x in stu)
x.display();
}
}
class score //这都是什么意思????
{
private string name;
private int ID;
private double c;
private double english;
private double math;
double avg;
public score()
{ this.avg = 0; }
public string Name
{ get { return name; } set { name = value; } }
public int id
{ get { return ID; } set { ID = value; } }
public double C
{ get { return c; } set { c = value; } }
public double English
{ get { return english; } set { english = value; } }
public double Math
{ get { return math; } set { math = value; } }
public double Avg
{ get { return avg; } set { avg = value; } }
public void init()
{ //好像也是输出语句但不怎么清楚希望高手指点
Console.Write("学号:");
this.ID = Convert.ToInt32(Console.ReadLine());
Console.Write("姓名:");
this.name = Convert.ToString(Console.ReadLine());
Console.Out.Write("c++:");
this.c = Convert.ToDouble(Console.ReadLine());
Console.Write("英语:");
this.english = Convert.ToDouble(Console.ReadLine());
Console.Write("数学:");
this.math = Convert.ToDouble(Console.ReadLine());
} //这里是什么意思??????
public void AVG() //这是???
{
this.avg = (this.math + this.english + this.c) / 3;
}
public void display()
{
Console.WriteLine("{0,5}{1,5}{2,6}{3,6}{4,6}{5,6}", name, ID, c, english, math, avg);
}
}
}