数组 20140822

一、定义:

数组是用来存储数据连续且相同类型的数据的一块区域,数组中包含的数值称作元素.

二、释义:

                     a[]--下标,指数组内元素的长度,从0开始递增.

                     a[5]--a[0]至a[4]

三、分类:

1.一维数组:a[],数组内包含一组数据,逐个递增,像豆角形式,用于一般运算.

2.二维数组:a[2,1],数组内包含数据由行、列组成,像超市储物柜,格子状组成,用于简单游戏开发(推箱子).

3.三维数组:a[2,1,3]数组内包含数据像立方,像魔方,多用于三维游戏开发(极品飞车).

四、使用:

1.定义:int[] a=new int[5];--数组元素长度是5,最大下标是4;"="右边,"[]"内必须是常量.

2.赋值:a[0]=12,a[1]=14,a[2]=7……

3.取值:int b=a[0],

例:将a[0].a[1]换位.

int b;

b=a[0];

a[0]=a[1];

a[1]=b;

4.运算:如需换位先定义一个新的变量

例1:10个球员,代号为0--9,训练时间裁判给球员打分,输完分数后求总分及平均分;得出最高分及最低分.


            int[] a = new int[10];

            for (int j = 1; j<= 10; j++)
            {
                Console.Write("请输入第{0}个球员的分数:", i+1);

                a[i - 1] = Convert.ToInt32(Console.ReadLine());
            }

            int sum = 0;double avg;
            for (int i = 0; i < 10; i++)
            {
                sum = sum + a[j];

                avg = sum / (10 * 1.0);
            }
            Console.WriteLine("总分是:{0},平均分是:{1}", sum, avg);

            //找最高分、最低分
            int max = a[0];
            int min = a[0];
            int max1 = 0;
            int min1 = 0;

            for (int d = 0; d < 10; d++)
            {
                if ( max<a[d])
                {
                    max = a[d];
                    max1 = d + 1;
                }
                if (min>a[d])
                {
                    min = a[d];
                    min1 = d + 1;
                }
            }
            Console.WriteLine("最高分为:{0}号球员{1}分", "最低分为:{2}号球员{3}分",max1, max,min1, min);
           去掉一个最高分,去掉一个最低分球员最后得分是

            int sum = 0; double avg;                  
            int[] a = new int[10];
            for (int i = 0; i < 10; i++)
            {
                Console.Write("请输入第{0}个球员的分数:", i+1);
                a[i] = Convert.ToInt32(Console.ReadLine());

               
                for (int i = 1; i <10; i++)
                {
                     sum=sum+a[i];
                }
                int max=a[0];int min=a[0];

                for (int i = 1; i <10; i++)
                {
                    if (max < a[i])
                        max = a[i];

                    if (min > a[i])
                        min = a[i];           


                   double avg = (sum - max-min) / (8 * 1.0);
                }               

                Console.WriteLine("去掉一个最高分{0},去掉一个最低分{1},歌手最后得分是{2}", max, min,avg);

例2. 5个候选班长,代号0-4,20个人投票,统计得票最多的代号和票数选为班长.

            int[] votes = new int[5];
            for (int i = 0; i < 20; i++)
            {
                Console.WriteLine("请投票(0-4):");
                int n = Convert.ToInt32(Console.ReadLine());
                if (n >= 0 && n <= 4)
                {
                    votes[n]++;//--投票数为0-4或定义班长姓名为0-4
                }
                else
                {
                    Console.WriteLine("此票为废票.");
                }
            }
                // 找最大值
                int max = votes[0], max1 = 0;
                for (int i = 1; i < 5; i++)
                {
                    if (votes[i] > max)
                    {
                        max = votes[i];
                        max1 = i;
                    }
                }

                Console.WriteLine("{0}以{1}票当选班长!", max1, max);

原文地址:https://www.cnblogs.com/DORCASQING/p/3930938.html