二维数组&多维数组

Posted 苏迁时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组&多维数组相关的知识,希望对你有一定的参考价值。

1.二维数组

二维数组由多个一维数组组成,其定义方式:

    int [,] array=new int [3,4]{
            {1,2,3,4},
            {3,4,5,6},
            {5,6,7,8}
            };

二维数组中括号中,逗号左边表示一维数组的个数,也可以说控制行,逗号后面的数表示每个一维数组里面有几个元素,也可以说控制列。

练习:1.输入班级人数,输入每个人的语数英成绩,并输出

   Console.Write("请输入班级人数:");
            int a = int.Parse(Console.ReadLine());
            double[,] score = new double[a, 3];
            for (int i = 0; i < a; i++)
            {
                Console.Write("请输入第{0}个人的语文成绩:", i + 1);
                score[i, 0] = double.Parse(Console.ReadLine());
                Console.Write("请输入第{0}个人的数学成绩:", i + 1);
                score[i, 1] = double.Parse(Console.ReadLine());
                Console.Write("请输入第{0}个人的英语成绩:", i + 1);
                score[i, 2] = double.Parse(Console.ReadLine());
            }
            for (int i = 0; i < a; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.Write(score[i, j] + "\t");
                }
                Console.WriteLine();
            }

技术分享

2.打印“王”字

技术分享

3.输入班级人数,输入每个人的语数英成绩,求语文两个最高分 数学两个最低分 英语平均分

Console.Write("请输入班级人数:");
            int a = int.Parse(Console.ReadLine());
            double[,] score = new double[a, 3];
            for (int i = 0; i < a; i++)
            {
                Console.Write("请输入第{0}个人的语文成绩:", i + 1);
                score[i, 0] = double.Parse(Console.ReadLine());
                Console.Write("请输入第{0}个人的数学成绩:", i + 1);
                score[i, 1] = double.Parse(Console.ReadLine());
                Console.Write("请输入第{0}个人的英语成绩:", i + 1);
                score[i, 2] = double.Parse(Console.ReadLine());
            }
            for (int i = 0; i < a - 1; i++)
            {
                for (int j = i + 1; j < a; j++)
                {
                    if (score[i, 0] < score[j, 0])
                    {
                        double zhong = score[i, 0];
                        score[i, 0] = score[j, 0];
                        score[j, 0] = zhong;
                        zhong = score[i, 1];
                        score[i, 1] = score[j, 1];
                        score[j, 1] = zhong;
                        zhong = score[i, 2];
                        score[i, 2] = score[j, 2];
                        score[j, 2] = zhong;
                    }
                }
            }
            Console.WriteLine("两个语文最高分是{0}、{1}", score[0, 0], score[1, 0]);
            for (int i = 0; i < a - 1; i++)
            {
                for (int j = i + 1; j < a; j++)
                {
                    if (score[i, 1] > score[j, 1])
                    {
                        double zhong = score[i, 0];
                        score[i, 0] = score[j, 0];
                        score[j, 0] = zhong;
                        zhong = score[i, 1];
                        score[i, 1] = score[j, 1];
                        score[j, 1] = zhong;
                        zhong = score[i, 2];
                        score[i, 2] = score[j, 2];
                        score[j, 2] = zhong;
                    }
                }
            }
            Console.WriteLine("两个数学最低分是{0}、{1}", score[0, 1], score[1, 1]);
            double sum = 0;
            for (int i = 0; i < a; i++)
            {
                sum += score[i, 2];
            }
            Console.WriteLine("英语平均分是{0}", sum / a);

 

技术分享

另:split()   以。。。。进行分割

分割出来的内容需要放在string类型的数组当中不需要给数组定义长度

技术分享

2.三维数组

定义方式:

int[, ,] array = new int[3, 2, 2];

总结:   一个元素是一个点
            一维数组是一条线
            二维数组是一个面(表格)
            三维数组是一个体(立体)

以上是关于二维数组&多维数组的主要内容,如果未能解决你的问题,请参考以下文章

Scratch中间接实现多维数组支持

Scratch中间接实现多维数组支持

3.6 多维数组

2018-06-15for与数组/for-in与数组/一维二维多维数组

二维数组多维数组

由线到面:二维数组,多维数组