zoukankan      html  css  js  c++  java
  • 例题:输入学生的各项资料,然后根据学生的分数,重新排序。重新复习结构体,集合,数组,for循环,冒泡排序,水平符的使用。

     class Program

        {

            struct student     //定义一个student的结构体

            {

                public string name;   //基本格式

                public int code;

                public int age;  

               public int fenshu;

            }

            static void Main(string[] args)

            {

                while (true)

                {   

                  ArrayList al = new ArrayList();  //定义一个新的集合

                    Console.Write("请输入人数:");

                    int renshu = Convert.ToInt32(Console .ReadLine ());

                    for (int i = 0; i < renshu ; i++)

                    {

                                           student r = new student();   //定义一个student类型r的变量,可以存储数值

                        Console.Write("请输入学生姓名:");

                        r.name = Console.ReadLine();

                        Console.Write("请输入学生学号:");

                        r.code = Convert.ToInt32(Console.ReadLine());

                        Console.Write("请输入学生年龄:");

                        r.age = Convert.ToInt32(Console.ReadLine());

                        Console.Write("请输入学生分数:");  

                       r.fenshu = Convert.ToInt32(Console.ReadLine());

                        al.Add(r);     //把r的值代入到al这个集合里

                  }

                    for (int i = 0; i < renshu; i++)      //按分数冒泡排序

                   {

                        for (int j = i; j < renshu -1; j++)

                        {

                            if (((student)al[i]).fenshu<((student)al[j+1]).fenshu  )   //好好看这句代码,不好理解,student类型里从al里取值

                            {   

                              student  zhong ;

                                zhong = (student)al[i] ;

                                al[i] = al[j + 1];

                                al[j + 1] = zhong;

                            }  

                       }  

                   }  

                   Console.WriteLine("排后学生顺序");

                    for (int i = 0; i < renshu ; i++)

                    {                                                     //水平符输出

                        Console.WriteLine("姓名"+((student)al[i]).name+" 学号"+((student)al[i]).code +" 分数"+((student)al[i]).fenshu  +" 年龄"+((student)al[i]).age  );

                    }

                }  

               Console.ReadLine();

  • 相关阅读:
    【JLOI2011】飞行路线
    P3369 【模板】普通平衡树
    P1144 最短路计数
    P1462 通往奥格瑞玛的道路
    【NOIP2017】宝藏
    P1120 小木棍
    P3919 【模板】可持久化数组(可持久化线段树/平衡树)
    P3834 【模板】可持久化线段树 1(主席树)
    矩阵清零--进军硅谷
    二维数组搜素--进军硅谷
  • 原文地址:https://www.cnblogs.com/275147378abc/p/4433463.html
Copyright © 2011-2022 走看看