结构体(适用于小数据量)+冒泡排序

来源:6-1 练习题目

qq_慕工程3053335

2023-06-07 20:29

            Student[]  stuent = new Student[8];
            stuent[0] = new Student { Name = "吴松",Grades = 89 };
            stuent[1] = new Student { Name = "钱东宇", Grades = 90 };
            stuent[2] = new Student { Name = "伏晨", Grades = 98 };
            stuent[3] = new Student { Name = "陈陆", Grades = 56 };
            stuent[4] = new Student { Name = "周蕊", Grades = 60 };
            stuent[5] = new Student { Name = "林日鹏", Grades = 91 };
            stuent[6] = new Student { Name = "何昆", Grades = 93 };
            stuent[7] = new Student { Name = "关欣", Grades = 85 };
            Student temp;
            for (int i = 0; i < stuent.Length - 1 ; i++)
            {
                for (int j = 0; j < stuent.Length - 1 - i; j++)
                {
                    if (stuent[j].Grades < stuent[j + 1].Grades)
                    {
                        temp = stuent[j + 1];
                        stuent[j + 1] = stuent[j];
                        stuent[j] = temp;
                    }
                }
                        
            }
            /*for (int i = 0; i < 8; i++)
            {
                Console.WriteLine($"姓名{stuent[i].Name},分数:{stuent[i].Grades}");
               
            }*/
            Console.WriteLine($"分数最高的是{stuent[0].Name}");

        }

        struct Student
        {
            private string name;
            private int grades;

            public string Name { get => name; set => name = value; }
            public int Grades { get => grades; set => grades = value; }

            /*public override string ToString()
            {
                
                return string.Format($"姓名:{this.Name},成绩:{this.Grades}");
            }*/
        }


写回答 关注

1回答

  • 慕慕8394392
    2023-06-28 12:16:42

                string[] name=new string[8]

                {"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"}; 

                int[] score =new int[8]{99,90,98,56,60,91,93,85};

                int max = score[0];

                int j = 0;

                for(int i=0;i<score.Length;i++)

                {

                    if(score[i]>max)

                    {

                        max=score[i];

                        j=i;

                    }

                }

                

                Console.WriteLine("最高分数的是:{0},分数是:{1}",name[j],max);


    慕前端152...

    运算对,输出结果不对

    2023-09-10 14:48:59

    共 1 条回复 >

C#开发轻松入门

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

254117 学习 · 1459 问题

查看课程

相似问题