二维数组与多维数组以及练习题

二维数组 


                int[,]array=new int[3,2]{
             {1,2},
            {3,4},
            {5,6}};
            3表示有三个一维数组。2表示每一个一维数组有两个元素

如果把一维数组看作是一个点,那么二维数组就是一个面

多维数组,

多维数组就是[,,],的形式 。如果把二维数组看作是一个面,那么多位数组就是一个立体

基本了解就行,很少用到多维数组

下面我们来看几个用二维数组做的练习题

——————————————————————————————————————————————————————-———————————————

例一,请输入班级人数,然后输入每个人的语文数学和英语成绩,并且打印出语文的两个最高分,数学的两个最低分。和英语的平均分

 

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

                    }

                }
            }
            Console.Write(s[0, 0]+","+s[1,0]);


            Console.WriteLine();

            for (int i = 0; i < a - 1; i++)
            {
                for (int j = i + 1; j < a; j++)
                {
                    if (s[i, 0] < s[j, 0])
                    {
                        double z = s[i, 0];
                        s[i, 0] = s[j, 0];
                        s[j, 0] = z;
                        double z1 = s[i, 1];
                        s[i, 1] = s[j, 1];
                        s[j, 1] = z1;
                        double z2 = s[i, 2];
                        s[i, 2] = s[j, 2];
                        s[j, 2] = z2;

                    }

                }
            }
            Console.WriteLine(s[(a - 1), 1] + "," + s[(a - 2), 1]);
            double d = 0;
            for (int i = 0; i < a; i++)
            {
                d += s[i, 2];
            }
            Console.WriteLine(d / a);
            Console.ReadLine();

————————————————————————————————————————————————————————————————————————————————

例二输入图形或者汉字。

 

string[,] a = new string[13, 9]
            {        
              {"  ","  ","啦","啦","啦","啦","啦","啦","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","啦","啦","啦","啦","啦","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},
              {"  ","  ","啦","  ","  ","啦","  ","  ","啦"},          
              {"  ","  ","啦","啦","啦","啦","啦","啦","啦"},
            };
            for (int i = 0; i < 13; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    Console.Write(a[i, j]);
                }
                Console.WriteLine();
            }
            Console.ReadLine();

———————————————————————————————————————————————————————————————————————————————   

例三

请输入

春眠不觉晓,

处处闻啼鸟。

夜来风雨声,

花落知多少。

这首诗。并且将鸟字替换为猫字。

最后打印。替换成功,替换后为,打出替换后的诗句。

            Console.WriteLine("春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。");
            Console.WriteLine("请输入要替换的字");
            string c = Console.ReadLine();
            Console.WriteLine("请输入替换后的文字");
            string d = Console.ReadLine();
            string[] b = new string[24] { "春", "眠", "不", "觉", "晓", ",", "处", "处", "闻", "啼", "鸟", "。", "夜", "来", "风", "雨", "声", ",", "花", "落", "知", "多", "少", "。" };
            for (int i = 0; i < 24; i++)
            {
                if (b[i] == c)
                {
                    b[i] = d;
                }


            }
            Console.Write("替换成功,替换后为:");
            foreach (string cc in b)
            {

                Console.Write(cc);
            }


            Console.ReadLine();

————————————————————————————————————————————————————————————————————————————————

例四

请随机输入20个数。将偶数索引值的数放入另一个数组

            int[] a = new int[20];
            int[] b = new int[10];
            for (int i = 0; i < 20; i++)
            {
                Console.Write("请输入第 {0}个数;", i + 1);
                a[i] = int.Parse(Console.ReadLine());
            }
            for (int i = 0; i < 20; i += 2)
            {

                b[i / 2] = a[i];
            }
            foreach (int dd in b)
            {
                Console.WriteLine(dd);

            }
            Console.ReadLine();

 

posted @ 2016-10-15 16:33  吴皓杰  阅读(4129)  评论(0编辑  收藏  举报