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();

  • 相关阅读:
    用好C++的智慧
    git patch
    ORACLE 11G导入数据报ORA-12154错误解析
    graphviz
    resource for better user experiences
    reference
    xv6
    common use tools provided as website
    eclipse plugins
    Massive Online Open Course sites
  • 原文地址:https://www.cnblogs.com/275147378abc/p/4433463.html
Copyright © 2011-2022 走看看