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

请问这段代码哪里错了?要怎么改才可以运行?

using System;
using System.Collections.Generic;
using System.Text;

namespace projGetMaxScore
{
    class Program
    {
        static void Main(string[] args)
        {
          string[] name=new string{"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"};
            int[] score=new int{89,90,98,56,60,91,93,85};
            int max=score[0];
            int x=0;
            for(int i=0;i<=score.Length;i++)
            {
                if(max<score[i])
                {
                    max=score[i];
                    x=i;
                }
            }
            Console.Write("分数最高的是"+name[x]+",分数是"+max); 
        }
    }
}

提问者:qq_木辰如月_0 2018-04-01 20:16

个回答

  • 慕数据6914329
    2018-04-01 22:20:16

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

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

    你没有加[],for (int i = 0; i < score.Length; i++)不是<=,而是<

    更改后:

    using System;

    using System.Collections.Generic;

    using System.Text;

    namespace projGetMaxScore

    {

        class Program

        {

            static void Main(string[] args)

            {

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

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

                int max = score[0];

                int x = 0;

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

                {

                    if (max < score[i])

                    {

                        max = score[i];

                        x = i;

                    }

                }

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

            }

        }

    }