问答详情
源自:6-1 练习题目

求成绩最大值以及对应同学姓名的练习,运行不成功,求各方大佬答疑

//声明一个int类型的score数组

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

           //声明一个int类型的最大值变量max并赋值

           int max=score[0];

           //声明一个int类型的变量记录数组索引

           int index=0;

           //声明一个string类型的name数组

             string[]name=new string[]{"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"};

             

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

             {

                 if(max<score[i])

                 {

                     max=score[i];

                     index=i;

                     

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

                     {

                         if( index == x)

                         {

                           name[x]=="伏晨";

                            break;

                         }

                     } 

                 }

             }

            

             Console.Write("分数最高的是"+name[index]+","+"分数是"+score[index]);


提问者:伯皇氏 2018-04-25 16:23

个回答

  • 慕妹1861290
    2018-05-07 14:55:39

    第一个for循环 已经找到了最大分数的序列号index。因为两个数组的序列相对应,所以可以找到后直接输出例如

    string[] names = new string[] { "吴松", "钱东宇", "伏晨", "陈陆", "周鑫", "杜日鹏", "何昆", "关欣" };

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

                int max = score[0];

                int index = 0;

               

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

                {

                    if (max < score[i])

                    {

                        max = score[i];

                        index = i;

                    }



                }

                 

                        Console.Write("分数最高的是" + names[index] +","+"分数是"+score[index]);

                Console.WriteLine();


  • 精慕门4784284
    2018-05-01 14:20:09

    for(int x=0;i<name.Length;x++),这行i<name.Length应该是x

  • 慕盖茨7849978
    2018-04-26 00:16:24

    第一个if语句内无需再用一个for循环寻找该索引,直接在第一个for循环结束之后Console.Write("分数最高的是"+name[index]+",分数是:"score[index])因为此时的index是最高分数的索引