数组

十一、数组

(一)定义

数组:具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
定义一位数组: 
int[] 变量名 = new int [n];

int[] myArray = new int[5] {1, 3, 5, 7, 9};
取值:int a = myArray[0];

定义二维数组:

int[,] 变量名 = new int [,];

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

定义多维数组:

int[,,] 变量名 = new int [,,];

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

(二)例题
1、从控制台输入10个人的年龄放入数组,将十个人的年龄求总和

主要代码:

            int[] age = new int[10];
            int sum = 0;
            for (int i = 0; i < 10; i++)
            {
                Console.Write("请输入年龄:");
                age[i] = int.Parse(Console.ReadLine());
                sum += age[i];
            }
            Console.WriteLine(sum);
            Console.ReadLine();

结果:

2、输入班级人数,根据人数确定输入多少个成绩,求平均分,最高分,最低分(使用冒泡排序)

主要代码:

            Console.Write("请输入人数:");
            int num = int.Parse(Console.ReadLine());
            double[] grade = new double[num];
            for (int i = 0; i < num; i++)
            {
                Console.Write("请输入第{0}个人的成绩:", i + 1);
                grade[i] = double.Parse(Console.ReadLine());
            }
            double t = 0;
            for (int j = 0; j < num - 1; j++)
            {
                for (int i = 0; i < num - 1 - j; i++)
                {
                    if (grade[i] < grade[i + 1])
                    {
                        t = grade[i];
                        grade[i] = grade[i + 1];
                        grade[i + 1] = t;
                    }
                }
            }
            for (int i = 0; i < num; i++)
                Console.WriteLine("第{0}名的成绩为:{1}。", i + 1, grade[i]);
            double sum = 0;
            for (int i = 0; i < num; i++)
                sum += grade[i];
            double averge = sum / num;
            Console.WriteLine("平均分为:{0}", averge);
            Console.WriteLine("最高分为:{0},最低分为:{1}。", grade[0], grade[num - 1]);
            Console.ReadLine();

结果:

3、输入班级人数,根据人数创建数组,将每一个人的语文,数学,英语成绩放入,计算出每个人的平均成绩

主要代码:

            Console.Write("请输入班级人数:");
            int num = int.Parse(Console.ReadLine());
            double[,] grade = new double[num, 3];
            string[] classes = new string[3];
            classes[0] = "语文成绩:";
            classes[1] = "数学成绩:";
            classes[2] = "英语成绩:";
            for (int i = 0; i < num; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    Console.Write("请输入{0}", classes[j]);
                    grade[i, j] = double.Parse(Console.ReadLine());
                }
                Console.WriteLine();
            }
            for (int i = 0; i < num; i++)
            {
                double sum = 0;
                double averge = 0;
                for (int j = 0; j < 3; j++)
                {
                    sum += grade[i, j];
                }
                averge = sum / 3;
                Console.WriteLine("平均分为:" + averge + "分。");
            }
            Console.ReadLine();

结果:

4、五个候选班长,20人投票。(输入1-5来表示支持哪个人)最后查看票数,看那个人胜出。

主要代码:

            int[] a = new int[10];
            for (int i = 0; i < 10; i++)
            {
                Console.Write("请投票:");
                a[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine();
            int[] b = new int[6] {0,0,0,0,0,0,}; 
            for (int i = 0; i < 10; i++)
            {
                if (a[i] == 1)
                    b[0] += 1;
                else if (a[i] == 2)
                    b[1] += 1;
                else if (a[i] == 3)
                    b[2] += 1;
                else if (a[i] == 4)
                    b[3] += 1;
                else if (a[i] == 5)
                    b[4] += 1;
                else
                    b[5] += 1;
            }
            Console.WriteLine();
            Console.WriteLine("1有{0}票,2有{1}票,3有{2}票,4有{3}票,5有{4}票,有{5}张废票。", b[0], b[1], b[2], b[3], b[4],b[5]);
            if (b[0] >= b[1])
            {
                if(b[0]>=b[2])
                {
                    if (b[0] >= b[3])
                    {
                        if (b[0] >= b[4])
                            Console.WriteLine("班长为1。");
                    }
                }
            }
            if (b[1] >= b[0])
            {
                if (b[1] >= b[2])
                {
                    if (b[1] >= b[3])
                    {
                        if (b[1] >= b[4])
                            Console.WriteLine("班长为2。");
                    }
                }
            }
            if (b[2] >= b[0])
            {
                if (b[2] >= b[1])
                {
                    if (b[2] >= b[3])
                    {
                        if (b[2] >= b[4])
                            Console.WriteLine("班长为3。");
                    }
                }
            }
            if (b[3] >= b[0])
            {
                if (b[3] >= b[1])
                {
                    if (b[3] >= b[2])
                    {
                        if (b[3] >= b[4])
                            Console.WriteLine("班长为4。");
                    }
                }
            }
            if (b[4] >= b[0])
            {
                if (b[4] >= b[1])
                {
                    if (b[4] >= b[2])
                    {
                        if (b[4] >= b[3])
                            Console.WriteLine("班长为5。");
                    }
                }
            }
            Console.ReadLine();

结果:

原文地址:https://www.cnblogs.com/bosamvs/p/5471404.html