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

哪里错了吗?

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);

        }

    }

}


提问者:慕粉0906143394 2017-06-28 19:32

个回答

  • 一念征途
    2017-06-30 11:37:36

    第一,第一行代码 是声明了一个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);
    祝你学习顺利。如果问题解决了,记得采纳下答案哦!


  • qq_泠雨听涛_0
    2017-06-30 11:31:34

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