思路:
想办法让课程与学生产生联系,可以写一个学生管理类(这里没有写),再写一个方法找出总分最大的学生,输出。
//Program类
class Program
{
static void Main(string[] args)
{
Course[] s1Course = new Course[3];
s1Course[0] = new Course("数据结构", 90);
s1Course[1] = new Course("数据库", 50);
s1Course[2] = new Course("软件工程", 60);
Student s1 = new Student("张三", s1Course);
Course[] s2Course = new Course[3];
s2Course[0] = new Course("数据结构", 50);
s2Course[1] = new Course("数据库", 80);
s2Course[2] = new Course("软件工程", 40);
Student s2 = new Student("李四", s2Course);
Course[] s3Course = new Course[3];
s3Course[0] = new Course("数据结构", 70);
s3Course[1] = new Course("数据库", 90);
s3Course[2] = new Course("软件工程", 20);
Student s3 = new Student("张三", s3Course);
Student[] students = { s1, s2, s3 };
Student s = Student.WhoIsBest(students);
Console.WriteLine("最佳的学生:{0}", s.GetInfo());
}
}
//课程类
class Course
{
private string courseName;
public string CourseName
{
get { return courseName; }
set { courseName = value; }
}
private int grade;
public int Grade
{
get { return grade; }
set { grade = value; }
}
public Course(string courseName, int grade)
{
this.courseName = courseName;
this.grade = grade;
}
}
//学生类
class Student
{
private string studentName;
private Course[] course;//课程类数组
public Student(string studentName, Course[] course)
{
this.studentName = studentName;
this.course = course;
}
//求分数总分方法
public int CourseGradeSum()
{
int sum = 0;
for (int i = 0; i < course.Length; i++)
{
sum += course[i].Grade;
}
return sum;
}
public static Student WhoIsBest(Student[] stu)//学生数组
{
int maxGrade = 0;
int index = -1;
for (int i = 0; i < stu.Length; i++)
{
if (stu[i].CourseGradeSum() > maxGrade)
{
maxGrade = stu[i].CourseGradeSum();
index = i;
}
}
return stu[index];
}
public string GetInfo()
{
return "学生姓名:" + studentName + "总分:" + CourseGradeSum().ToString();
}
}