结构体集合面向对象

namespace wwz
{
    class Program
    {
        struct student
        {
            public string name;
            public int chengji;
            public int cno;
        
        }
        public ArrayList paixu(ArrayList a)   //排序函数
        {
            int n = a.Count;
            for (int i = 1; i <= a.Count; i++)
            {
                for (int j = 1; j <= a.Count - i; j++)
                {
                 
                    if (((student)a[j - 1]).chengji < ((student)a[j]).chengji)
                    {   student temp ;
                        temp = (student)a[j - 1];
                        a[j - 1] = (student)a[j];
                        a[j] = temp;
                    }
                }
            }
            return a;
        }
        static void Main(string[] args)
        {
            ArrayList al = new ArrayList();
            student a = new student();
            Console.WriteLine("请输入人数");
            int b = Convert.ToInt32(Console.ReadLine());
            for (int i = 1; i <= b; i++)
            {
                Console.WriteLine("请输入您的名字");
                a.name = Console.ReadLine();
                Console.WriteLine("请输入您的成绩");
                a.chengji = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("请输入您的学号");
                a.cno = Convert.ToInt32(Console.ReadLine());
                al.Add(a);
            }

             new Program().paixu(al);//调用函数进行排序
        

            for (int i = 0; i < al.Count; i++)
            {
                Console.WriteLine("名字为" + ((student)al[i]).name + "成绩为" + ((student)al[i]).chengji + "学号为" + ((student)al[i] ).cno);
            }
            double n = 0;  //定义总分
            for (int i = 0; i < b; i++)
            {
                n +=((student)al[i]).chengji; //总分=总分+每个人的成绩
            } 
            Console.WriteLine(n); //输出总分
            double avg = n / b;//定义平均分的公式
            Console.WriteLine(avg);//输出平均分
            Console.ReadLine();
        }
    }
}

 

posted @ 2015-05-21 21:57  XCml  阅读(195)  评论(0编辑  收藏  举报