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

哪里错了吗?

using System;

using System.Collections.Generic;

using System.Text;


namespace projGetMaxScore

{

    class Program

    {

        static void Main(string[] args)

        {

            string[,] hasK=new string [8,2]{"吴松",89},{"钱东宇",90},{"伏晨",98},{"陈陆",56},{"周蕊",60},{"林日鹏",91},{"何坤",93},{"关欣",85};

                string name=" ";

                string score=0;

            for(int i=0;i<8;i++)

            {

                if(String.Compare(hasK[i,1],score)>0)

                {

                    name=hasK[i,0];

                    score=hasK[i,1];

                }

            }

            Console.WriteLine("分数最高的是"+name+",分数是"+sorce);

        }

    }

}


正在回答

2 回答

第一,第一行代码 是声明了一个string类型的二维数组,那么里面就只能放string类型的,所以对于里面的分数 也要用双引号“”引上。

第二,二维数组的格式不对,少了一个大括号 ,声明格式大致为 string[,] s=new string[,]{{},{},{},{}};

第三, 

string score=0;

既然声明了字符类型,就要用双引号引上。

第四,变量名字上下文不一致:上面声明的是score ,结果下面 输出时写的是sorce。

第五,name和score 的初始化赋值时,建议赋值 下标为0的值。

上代码:

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


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

"分数是"前面的逗号是中文的

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

举报

0/150
提交
取消
C#开发轻松入门
  • 参与学习       254045    人
  • 解答问题       1459    个

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

进入课程

哪里错了吗?

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