一组变量
可以批量处理同一类型的数据

一维数组,二维数组,多维数组

定义

一维数组:
一、int[] aa = new int[5];
定义了一个长度为5的int类型数组,但是未赋值,里面默认5个0,string类型的数组,未赋值的情况下,里面默认是“”;

二、int[] aa = new int[5]{1,2,3,4,5};
定义了一个长度为5个int类型数组,并且立刻给它5个空都赋上值;

三、int[] bb = new int[] {22,33,44,55,66};
不定义长度,直接赋值,计算机会自动计算长度;

赋值:
aa[0] = 值;

取值:
int a = aa[0];

注意:定义时,中括号里放的是长度,而使用时是索引

二维数组:
int[,] aa = new int[3, 4] //3是几个一维数组,4是一维数组的长度
{ { 1, 2, 3, 33 }, { 4, 5, 6, 66 }, { 7, 8, 9, 99 } };

Console.WriteLine(aa[0,3]);

三维数组:
int[, ,] bb = new int[2, 3, 4] {

{ { 1, 2, 3, 33 }, { 4, 5, 6, 66 }, { 7, 8, 9, 99 } },
{ { 1, 2, 3, 333 }, { 4, 5, 6, 66 }, { 7, 8, 9, 99 } }

};

冒泡排序:

从第一个开始挨个与后面的数字对比

练习1

请输入学员的人数:n
请输入第1个学员的分数:
请输入第2个学员的分数:
....
请输入第n个学员的分数:
*******************************
一共n个学生;
第1个学员的分数是:
第2个学员的分数是:
....
第3个学员的分数是:
总分是:
平均分是:
*******************************
最高分是第x个学生,分数是:
最低分是第y个学生,分数是:

            Console.Write("请输入学员的人数:");
            try
            {
                int a = Convert.ToInt32(Console.ReadLine());
                decimal b = 0;//总分是
                decimal[] aa = new decimal[a];
                for (int i = 0; i < a; i++)
                {
                    Console.Write("" + (i + 1) + "个学员的成绩是");
                    aa[i] = Convert.ToDecimal(Console.ReadLine());
                }
                Console.WriteLine("*****************************");
                Console.WriteLine("一共有" + a + "个学员");
                for (int i = 0; i < a; i++)
                {
                    Console.WriteLine("" + (i + 1) + "个学员的成绩是:" + aa[i] + "");
                    b += aa[i];
                }
                decimal c = b / a;
                Console.WriteLine("总分是" + b + ",平均分是" + c);
                Console.WriteLine("*****************************");
                decimal min = 100, max = 0;
                int aaa = 0, bbb = 0;
                for (int i = 0; i < a; i++)
                {
                    if (min > aa[i])
                    {
                        min = aa[i];
                        bbb = i + 1;
                    }
                    if (max < aa[i])
                    {
                        max = aa[i];
                        aaa = i + 1;
                    }
                }
                Console.WriteLine("最高分是第" + aaa + "个学员,成绩是" + max + "。最低分是第" + bbb + "个学员,成绩是" + min + "");
            }
            catch
            {
                Console.WriteLine("输入错误");
            }

            Console.ReadLine();

运算结果

 

 练习2

 定义一个长度为10的int类型一维数组,

里面的值随意输入10个,然后让数组从大到小排列出来

            int[] a = new int[10] { 1, 2, 4, 2, 1, 3, 2, 4, 4, 6 };
            int b = 0;
            for (int i = 0; i < 10; i++)
            {
                for (int j = i + 1; j < 10; j++)
                {
                    if (a[i] < a[j])
                    {
                        b = a[i];
                        a[i] = a[j];
                        a[j] = b;
                    }
                }
            }
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(a[i]);
            }

            Console.ReadLine();    

运算结果

 

posted on 2016-05-27 19:57  斐雪  阅读(180)  评论(0编辑  收藏  举报