为了账号安全,请及时绑定邮箱和手机立即绑定

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

//声明一个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]);


正在回答

3 回答

第一个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();


1 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信