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

请问这个题使用二维数组怎么做??

一次考试,各位同学的姓名和分数如下:

请编写程序,输出分数最高的同学的姓名和分数。运行效果如下:

提问者:qq_新生_11 2018-06-12 15:34

个回答

  • 慕先生0184029
    2018-07-09 17:34:03

    记录下,最上面的二维数组的厉害了,

    if(int.Parse(info[i,1])>int.Parse(info[temp,1]))//用parse转换成整形,进行循环比较 temp初始为0,条件为真则temp值加1,第一次循环[0,1],和[0,1] 比较条件为false,i+1,而temp不变,之后 [(I)1,1]和[(temp)0,1]比较为真,temp变成1,之后i继续循环,temp变成2,循环终止后,temp还是2.

    temp+1

    打印的是temp值,

  • 慕粉9455790
    2018-07-02 14:45:39

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

                int temp=0;

                for(int i=0;i<info.GetLongLength(0);i++)

                {

                    if(int.Parse(info[i,1])>int.Parse(info[temp,1]))

                    {

                        temp=i;

                    }

                }

                Console.Write("分数最高的是" + info[temp, 0] + ",分数是" + info[temp, 1]);


  • Mikuku
    2018-06-27 22:52:03

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

                int record=0;

                int max=0;

                //获取二维数组里面第二个数组的长度GetLength(1)

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

                {

                //int.Parse强制转换成int类型

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

                    {

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

                        record = i;

                    }

                }

                Console.Write("分数最高的是" + a[0, record] + ",分数是" + a[1, record]);

    你说的是用二维数组做出来吗?像这样?


  • 伢伢學语
    2018-06-20 16:37:32

    string[] name = { "吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" };

                int[]score = { 89,90,98,56,60,91,93,85};

                int max = score[0];

                int record = 0;

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

                    if (score[i]>max) {

                        max = score[i];

                        record = i;

                    }

                    

                }

                Console.Write("分数最高的是{0},分数是{1}" + name[record], max);


  • qq_新生_11
    2018-06-13 23:13:44

    那个 亲,首先谢谢您啊~~然后我再问下那个,我没理解错的话这个应该是声明的两个数组的方式·~

    亲,你会那种声明 string[,] a = new string[,]{~~~~~};

    这种二维的吗??


  • 慕后端1024389
    2018-06-13 23:12:37

     string[] x = { "吴松", "钱东宇", "伏晨", "陈陆", "周陆", "周蕊", "林日鹏", "何昆", "关欣" };

                int[] y = { 89, 90, 98, 56, 60, 91, 93, 85 };


                int max;

                max = 0;

                string name;

                name = null;

                for (int i = 0; i < y.Length; i++)

                {

                    if (y[i] > max || max == 0)

                    {

                        max = y[i];

                        name = x[i];


                    }

                }

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

                Console.ReadLine();

            }


  • qq_新生_11
    2018-06-13 23:11:42

    那个 亲,首先谢谢您啊~~然后我再问下那个,我没理解错的话这个应该是声明的两个数组的方式·~

    亲,你会那种声明 string[,] a = new string[,]{~~~~~};

    这种二维的吗??

  • 帅得没脾气O_o_0
    2018-06-13 13:36:00

               string[] a = new string[] { "吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" };
                int[] b = new int[] { 89, 90, 98, 56, 60, 91, 93, 85 };
                int max = 0;
                string name = null;
                for (int i = 0; i < b.Length; i++)
                {
                    if (b[i] > max)
                    {
                        max = b[i];
                        name = a[i];
                    }
                }
                Console.Write("分数最高的是{0},分数是{1}", name, max);

  • 帅得没脾气O_o_0
    2018-06-13 13:35:01

    定义一个string数组存放姓名,一个int数组存放成绩,然后定义一个最大值max,用for循环嵌套if比较大小把最大值赋给max,并把最大值的索引给姓名数组。