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

这道题如果用二维数组的话该怎么作?

名字和分数的数据类型这块儿不好弄啊。。

提问者:慕瓜8005646 2018-12-17 20:08

个回答

  • qq_慕虎1144658
    2018-12-19 17:27:19
    已采纳

    二维数组这个题不好弄,你定义string的到时候分数不好比较,你定义int但名字又是字符串,最好用两个数组分别装吧,大不了你下标对应就好,找出最高分是多少,在遍历一遍数组谁等于这个最高分,直接输出就ok

  • 慕雪6586599
    2019-02-25 20:36:19

                string[,] list = new string[8, 2] { 

                    { "吴松", "89" }, 

                    { "钱东宇", "90" }, 

                    { "伏晨", "98" }, 

                    { "陈陆", "56" }, 

                    { "周蕊", "60" }, 

                    { "林日鹏", "91" }, 

                    { "何昆", "93" }, 

                    { "关欣", "85" }

                };

                int max = 0;

                string maxname = "吴松";

                for (int i = 0; i < list.GetLength(0); i++)

                {

                    if (int.Parse(list[i, 1]) > max)

                    {

                        max = int.Parse(list[i, 1]);

                        maxname = list[i, 0];

                    }

                }

                Console.WriteLine("分数最高的是{0},分数是{1}", maxname, max);


  • qq_慕容2187559
    2019-02-24 08:19:37

    using System;

    using System.Collections.Generic;

    using System.Text;


    namespace Test

    {

        class Program

        {

            static void Main(string[] args)

            {

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

                int max = 0;

                int y = 0;

                for (int x = 0;x < score.GetLength(0); x++ )

                {

                    if (Convert.ToInt32(score[x, 1]) >max)

                    {

                        max = (Convert.ToInt32(score[x, 1]));

                        y = x;

                    }

                }

                Console.WriteLine("分数最高的是{0},分数是{1}",score[y,0],score[y,1]);

            }

        }

    }