A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 乔利柱 于 2012-10-24 13:20 编辑

班级学生总成绩和平均成绩计算:      1)让用户输入班级人数
      2)让用户依次输入该班级每个学员的姓名和成绩(0-100之间)
      3)按成绩进行排序,按成绩由高到低依次输出学生的姓名和成绩

2 个回复

倒序浏览
本帖最后由 许庭洲 于 2012-10-21 21:41 编辑

回复 使用道具 举报
我是用面向对象做的也能实现你看看。不懂的话问我
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace test9
{
    class Program
    {/*班级学生总成绩和平均成绩计算:

      1)让用户输入班级人数

      2)让用户依次输入该班级每个学员的姓名和成绩(0-100之间)

      3)按成绩进行排序,按成绩由高到低依次输出学生的姓名和成绩

*/
        static void Main(string[] args)
        {
            Console.WriteLine("请输入班级人数");
            int num = Convert.ToInt32(Console.ReadLine());//接收你输入的班级人数
            ArrayList students = new ArrayList();//创建一个动态数组来存储学生对象
            for (int i = 0; i < num; i++)//循环接收
            {
                student st = new student();//实例化一个student对象
                Console.WriteLine("请输入姓名");
                st.Name = Console.ReadLine();//给它的名字属性赋值
                Console.WriteLine("请输入成绩");
                st.Grade1 = Convert.ToInt32(Console.ReadLine());//给它的成绩属性赋值

                students.Add(st);//把对象依次填入到动态数组中

            }
            myEmployeeCompare EmployeeCompare = new myEmployeeCompare();//实例化 myEmployeeCompare类
            students.Sort(EmployeeCompare);//用arraylist.sort方法进行排序
            foreach (object stun in students)//遍历动态数组输出其中对象的值
            {
                student stuforeach = (student)stun;//利用多态实现对象的转换
                Console.WriteLine("{0}{1}", stuforeach.Name, stuforeach.Grade1);//输出名字和成绩
            }


        }
        private class myEmployeeCompare : System.Collections.IComparer//Comparer实现接口System.Collections.IComparer 该接口只有一个成员函数需要实现。
        {
            public int Compare(object x, object y)
            {
                return ((student)y).Grade1 - ((student)x).Grade1;//指定排序的规则是按哪一个数据按哪一个规则进行排序
            }
        }
    }

}
//你用的话要自己在建一个student类我是这样写的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test9
{
  public   class student
    {
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private int Grade;

        public int Grade1
        {
            get { return Grade; }
            set { Grade = value; }
        }
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马