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

没输错啊!是怎么回事呢?

static void Main(string[] args)
         {
            int max=0;
           int t=0;
            string [,]a=new string[8,2]={ { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } };
            for(int i=0;i<=a.GetLongLength;i++){
                    if(max<Convert.ToInt32(a[i,1])){
                        max=Convert.ToInt32(a[i,1]);
                        t=i;
                    }
            }
            Console.WriteLine("分数最高的为:{0},分数是{1}",max,a[i,1]);
        }

——————————————————————————————————————————

                为什么提示{ { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } };   是无效表达式项呢,

正在回答

2 回答

            int max = 0;
            int t = 0;
            string[,] a = new string[8, 2] { { "吴松","89" },{ "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "9" }, { "何昆", "93" }, { "关欣", "85" } };
            Console.WriteLine("a的长度:"+a.Length);
            for (int i = 0; i < a.Length/2; i++)
            {
                if (max < Convert.ToInt32(a[i, 1]))
                {
                    max = Convert.ToInt32(a[i, 1]);
                    t = i;
                }
            }
            Console.WriteLine("分数最高的为:{0},分数是{1}", max, a[t, 1]);

你好,第一行:

new string[8,2]=

后面的= 不应该加, 需要删掉;

第二:a的长度,不是8,也不是2,而是16,如果按你之前写的话,会数组越界,所以需要改成16的一半,也就是a的长度除以2;

第三,数组的长度 用a.Length 就可以了

第四:最后一行:

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

a[i,1]需要改成a[t, 1], i因为你是在for循环中定义的,所以在for循环以外,i就不能用了。

祝你学习顺利!


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

赋初值的{}前没有=号

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

举报

0/150
提交
取消

没输错啊!是怎么回事呢?

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