C#中的数组,C#中的冒泡排序,(数组中随机出现1-20之间的8位数,且不重复),(数组中随机出现各重复三次的1,2,3,三位数字)

以下代码皆在控制台输出(控制台应用程序)

数组

数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。

初始化数组

声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。

赋值给数组

int[] array = new int[5];

array[0] = 2;
​ array[1] = 4;
​ array[2] = 6;
​ array[3] = 8;
​ array[4] = 10;

直接初始化赋值,大括号中的赋值顺序和数组中的索引位置一致,不多不少

​ int[] array = new int[5] { 2, 4, 6, 8, 10 };

直接给数组赋值,省略实例,这种写法数组长度完全取决其初始过程中填充的内容个数
​ int[] array ={2,4,6,8,10};

重点:

创建一个数组时,C# 编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int 数组的所有元素都会被初始化为 0。

			//1.声明数组的长度:规定了这个数组中允许存放的这种类型的对象的最大数量
            //int[] array = new int[5];

            //直接初始化赋值,大括号中的赋值顺序和数组中的索引位置一致,不多不少
            int[] array = new int[5] { 2, 4, 6, 8, 10 };

            //直接给数组赋值,省略实例,这种写法数组长度完全取决其初始过程中填充的内容个数
            //int[] array ={2,4,6,8,10};

            //2.给数组中装内容,给每个位置里面放置一个数组类型的对象
            //索引:代表数组中的位置编号从0开始
            //array[0] = 2;
            //array[1] = 4;
            //array[2] = 6;
            //array[3] = 8;
            //array[4] = 10;

			//3.在使用数组的时候必须注意,数组的索引绝对不允许超过数组的长度范围(最大索引值=数组长度-1)
            //for (int i = 0; i < 5; i++)
            //{
            //    Console.WriteLine(array[i]);
            //}
            //4.数组属性length:指数组的长度
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
            Console.ReadLine();

冒泡排序

口诀:

N 个数字来排队,两两相比小靠前。
​ 外层循环 N-1,内层循环 N-1-i。

在这里插入图片描述

			int[] array = {12,45,34,44,32,18 };
            for (int i = 0; i < array.Length-1; i++)
            {
                for (int j = 0; j < array.Length-1-i; j++)
                {
                    if (array[j]>array[j+1])
                    {
                        int temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                }
            }
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i]+"<");
            }
            Console.ReadLine();

数组中随机出现1-20之间的8位数,且不重复

在这里插入图片描述

			int[] array = new int[8];
            Random r = new Random();
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = r.Next(1,21);
                if (i > 0)
                {
                    for (int j = 0; j < i; j++)
                    {
                        if (array[i]==array[j])
                        {
                            i--;
                        }
                    }
                }
            }
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
            Console.ReadLine(); 

数组中随机出现各重复三次的1,2,3,三位数字

在这里插入图片描述

			int[] array = new int[9];
            Random r = new Random();
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = r.Next(1,4);
                int count = 0;
                if (i>0)
                {
                    for (int j = 0; j < i; j++)
                    {
                        if (array[i]==array[j])
                        {
                            count++;
                            if (count == 3)
                            {
                                i--;
                            }
                        }
                    }
                }
            }
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
            Console.ReadLine();

数组中随机出现1-20之间的三位数,并且各重复出现3次

在这里插入图片描述

			//获取3个数
            int[] Num = new int[3];
            Random r = new Random();
            for (int i = 0; i < Num.Length; i++)
            {
                Num[i] = r.Next(1, 21);
                if (i > 0)
                {
                    for (int j = 0; j < i; j++)
                    {
                        if (Num[i] == Num[j])
                        {
                            i--;
                        }
                    }
                }
            }

            for (int i = 0; i < Num.Length; i++)
            {
                Console.Write(Num[i]+"  ");
            }

            Console.WriteLine();

            //摆顺序
            int[] array = new int[9];
            for (int i = 0; i < array.Length; i++)
            {
                int index = r.Next(3);
                array[i] = Num[index];
                int count = 0;
                if (i > 0)
                {
                    for (int j = 0; j < i; j++)
                    {
                        if (array[i] == array[j])
                        {
                            count++;
                            if (count==3)
                            {
                                i--;
                            }
                        }
                    }
                }
            }
            
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i]+"  ");
            }
            Console.ReadLine();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值