代码改变世界

数组

2016-06-26 17:03  天疯狂石  阅读(154)  评论(0编辑  收藏  举报

 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。【数组中元素的索引是从0开始的】

 

一维数组:

定义数组 int[] 变量名 = new int [n];

 

例如:

int[] myArray = new int [5];

 

此数组包含从 myArray[0] 到 myArray[4] 的元素。new 运算符用于创建数组并将数组元素初始化为它们的默认值。在此例中,所有数组元素都初始化为零。

可以用相同的方式声明存储字符串元素的数组。

例如:

string[] myStringArray = new string[6];

 

数组初始化

int[] myArray = new int[] {1, 3, 5, 7, 9};

 

可以用相同的方式初始化字符串数组。下面声明一个字符串数组,其中每个数组元素用每天的名称初始化:

string[] weekDays = new string[]

  {"Sun","Sat","Mon","Tue","Wed","Thu","Fri"};

 

取值则是

String s=weekDays[0]

输出结果s为:Sun

二维数组:

定义二维数组 int[,] myArray = new int[几个一维数组,数组中的个数];

 

数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组(可以理解为4个1维数组,数组中包含2个元素):

int[,] myArray = new int[4,2];

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

取值则是

Int i=myArray[0,0]

输出结果i为:1

Int i=myArray[0,1]

输出结果i为:2

 

多维数组:

数组可以具有多个维度。例如:

int[,,] myArray = new int[2,4,2] {{1,2},{3,4},{5,6},{7,8}} , {{9,10},{11,12},{13,14},{15,16}};

 例:
1.         班级人数,每个人年龄放入数组
            所有人年龄求总和
            Console.WriteLine("输入班级人数");
            int a = int.Parse(Console.ReadLine());
            int[] age = new int[a];
            for (int i = 0; i < a; i++)
            {
                Console.WriteLine("输入第" + (i + 1) + "个人年龄");
                age[i] = int.Parse(Console.ReadLine());
            }
            int sum = 0;
            for (int i = 0; i < a; i++)
            {
                sum += age[i];
            }
            Console.WriteLine(sum);
            Console.ReadLine();

2.         班级人数,每个人语数外放入数组
            求每个人总分
            求语文总分
            求数学平均分
            Console.WriteLine("输入班级人数");
            int a = int.Parse(Console.ReadLine());
            double[,] fen = new double[a, 3];
            for (int i = 0; i < a; i++)
            {
                Console.WriteLine("输入第" + (i + 1) + "个人语文");
                fen[i, 0] = double.Parse(Console.ReadLine());
                Console.WriteLine("输入第" + (i + 1) + "个人数学");
                fen[i, 1] = double.Parse(Console.ReadLine());
                Console.WriteLine("输入第" + (i + 1) + "个人英语");
                fen[i, 2] = double.Parse(Console.ReadLine());
            }
            double[] zong = new double[a];
            for (int i = 0; i < a; i++)
            {
                zong[i] = fen[i, 0] + fen[i, 1] + fen[i, 2];
                Console.WriteLine("第"+(i+1)+"人"+zong[i]+"分");
            }

            double sum = 0;
            for (int i = 0; i < a; i++)
            {
                sum += fen[i, 0];
            }
            Console.WriteLine(sum);
            double ping = 0;
            for (int i = 0; i < a; i++)
            {
                ping += fen[i, 1];
            }
            Console.WriteLine(ping / a);
            Console.ReadLine();

3.        随机10个100以内的不重复的整数,打印
            从小到大排序
            int[] suiji = new int[10];
            Random ran = new Random();
            for (int i = 0; i < 10; i++)
            {
                bool b = true;
                int a = ran.Next(101);
                for (int j = 0; j < i; j++)
                {
                    if (a == suiji[j])
                    {
                        b = false;
                        i--;

                    }
                }
                if (b)
                {
                    suiji[i] = a;
                }
            }

            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(suiji[i]);
            }
            Console.WriteLine();

            for (int i = 0; i < 10; i++)
            {
                for (int j = i; j < 9; j++)
                {
                    if (suiji[i] > suiji[j + 1])
                    {
                        int zhong = suiji[i];
                        suiji[i] = suiji[j + 1];
                        suiji[j + 1] = zhong;
                    }
                }
            }
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(suiji[i]);
            }
            Console.ReadLine();

4.         抽奖活动
            输入有多少个参与人员
            输入每个人的手机号码
            等待0.1秒
            Console.Write("请输入参与的人数:");
            int a = int.Parse(Console.ReadLine());
            string[] jiang = new string[a];
            for (int i = 0; i < a; i++)
            {
                Console.Write("请输入第{0}个人的手机号码:", (i + 1));
                jiang[i] = Console.ReadLine();
            }
            Console.WriteLine("所有号码输入完毕,请按回车键进行抽奖活动!!");
            Console.ReadLine();

            Random ran = new Random();
            for (int i = 0; i < 30; i++)
            {
                Console.Clear();
                int aa = ran.Next(a);
                Console.WriteLine("中奖号码:" + jiang[aa]);
                System.Threading.Thread.Sleep(100);
            }
            Console.ReadLine();