问答详情
源自: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[] num=new int[]{29,90,98,56,60,91,93,85};

            int max=num[0];

            string x=name[0];

            int index=0;

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

            {

                if(num[i]>max)

                {

                    max=num[i];

                    x=name[i];

                    index=i;

                }

            }

            Console.WriteLine("分数最高的是"+x+"分数是"=max);

        }

    }

}


提问者:慕粉0906143394 2017-06-28 20:04

个回答

  • 一念征途
    2017-06-28 22:42:35
    已采纳

    第一,在声明string数组中,每个下标对应的都是string类型的,所以吴松,钱东宇,伏晨,陈陆,周薇,林日鹏,何昆,关欣 这些字符需要分别用双引号 引上。

    第二,第一行中的逗号是用的中文的,需要改成英文的,第二行的逗号是正确的,两行代码比较一下,就可以看下中文的占的空间 是比英文的大的。

    第三,如果一个数组的长度是n的话,那么它的下标是从0到n-1 的,是不能到n的,所以在for 循环语句中的i<=num.Length; 的等号去掉,改成i<num.Length;

    第四,代码最后一句,字符串的拼接是用加号 + 的,不是用等号=的,所以需要把"分数是"=max  改成"分数是"+max 

    上代码:

                string[] name = new string[] { "吴松", "钱东宇", "伏晨", "陈陆", "周薇", "林日鹏", "何昆", "关欣" };
                int[] num = new int[] { 29, 90, 98, 56, 60, 91, 93, 85 };
                int max = num[0];
                string x = name[0];
                int index = 0;
                for (int i = 1; i < num.Length; i++)
                {
                    if (num[i] > max)
                    {
                        max = num[i];
                        x = name[i];
                        index = i;
                    }
                }
                Console.WriteLine("分数最高的是" + x + "分数是" + max);
    祝你学习顺利。如果问题解决了,记得采纳下答案哦!