数组及其练习题

Posted 露西&哈特菲利亚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组及其练习题相关的知识,希望对你有一定的参考价值。

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

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

定义一维数组:
一、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];

PS:定义时,中括号里放的是长度
而使用时是索引,下标
------------------------------------------------------------------------
二维数组:
1、定义
int[] aa = new int[2,4]
{{1,2,3,4},{5,6,7,8}};
//2表示这个二维数组里有两个一维数组,4表示每个一维数组的长度。
2、赋值:
aa[0,1] = 值;
//0表示从这个二维数组里的第一个一维数组,1表示从第一个数组里的序位数为1的值。
3、取值:
int a = aa[0,1];

PS:取值时一定要看好中括号里的每一条信息
------------------------------------------------------------------------
三维数组:
1、定义
int[] aa = new int[2,3,4]
{
{{1,2,3,4},{5,6,7,8},{10,22,33,55}},
{{11,22,33,44},{55,66,77,88},{99,110,220,330}}
};
//2表示这个三维数组里有两个二维数组,3表示这个二维数组里有三个一维数组,4表示每个一维数组的长度。
2、赋值:
aa[0,1,3] = 值;
//0表示从这个三维数组里的第一个二维数组,1表示从第一个二维数组里的第一个一维数组,3表示从第一个一维数组里的序位数为3的值。
3、取值:
int a = aa[0,1,3];

------------------------------------------------------------------------
练习题:
1、

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

            //接收用户输入的人数
            Console.Write("请输入学生的人数:");
            int n = Convert.ToInt32(Console.ReadLine());

            //第一一个无限长度的一维数组           
            decimal[] a = new decimal[n];
            for (int i = 0; i < n; i++)
            {
                Console.Write("请输入第" + (i + 1) + "个学生的成绩:");
                a[i] = Convert.ToDecimal(Console.ReadLine());
            }
            Console.WriteLine("*******************************");
            Console.WriteLine("一共有" + n + "个学生。");
            decimal end = 0m;
            for (int j = 0; j < n; j++)
            {
                Console.WriteLine("" + (j + 1) + "个学生的成绩是:" + a[j]);
                end += a[j];
            }
            Console.WriteLine("总分是:" + end);
            Console.WriteLine("平均分是:" + (end / n));
            Console.WriteLine("*******************************");
            decimal min = 100, max = 0;
            int b = 0, c = 0;
            for (int k = 0; k < n; k++)
            {
                if (min > a[k])
                {
                    min = a[k];
                    c = k + 1;
                }
                if (max < a[k])
                {
                    max = a[k];
                    b = k + 1;
                }
            }
            Console.WriteLine("最高分是第" + b + "个学生,分数是:" + max + ";最低分是第" + c + "个学生,分数是:" + min);
            Console.ReadKey();

 

 

2、

冒泡排序:定义一个长度为10的int类型一维数组,
里面的值随意输入10个,然后让数组从大到小排列出来

            //1、定义长度为10的一维数组
            int[] a = new int[10] { 3, 5, 2, 6, 34, 56, 23, 78, 9, 10 };

            //2、判断大小
            int z = 0;
            for (int i = 0; i < 10; i++)
            {
                for (int j = i + 1; j < a.Length; j++)
                {
                    if (a[i] < a[j])//从大到小排列打印,if (a[i] > a[j]) 从小到大排列打印
                    {
                        z = a[i];
                        a[i] = a[j];
                        a[j] = z;
                    }
                }
            }

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


            Console.ReadLine();

以上是关于数组及其练习题的主要内容,如果未能解决你的问题,请参考以下文章

结构体枚举类型及其练习题,最后的对战游戏(基础版)

C语言小项目:井字棋实现及其源码展示(内含鸡兔同笼习题)

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

C Primer plus 第一章复习题及其编程题

迭代法,穷举法及其练习题