c#学习之数组 36选7随机数不重复/折半取余

内容:

数组的定义是:数据类型[] 变量名=new 数据类型[n]  变量名.Length表示数组数值长度;

36选7随机数不重复
static
void Main(string[] args) { int[] a = new int[7];//1)先创建一维数组 Random rand = new Random();//2)定义随机电脑生成随机数; for (int i = 0; i < 7; i++)//3)进行筛分将重复的数字去掉 { int n = rand.Next(36);//随机生成36个0-35之间的数字; n++;//显示1-36 bool cunZai = false;//做标记既可以是bool数字也可以; for (int j = 0; j < a.Length; j++)//a.Length的意思是数组的长度(数值) { if (a[j] == n) { cunZai = true;//数组中有相等的就跳过; break; } } //存在不存在?不存在的话就放进a数组中,存在的话,就重新生成 if (cunZai == false)// { a[i] = n;//n带入数组 } else { i--;//因为不符合重新再进行随机数的运算,在这之前“i++”需要自减; } } //显示 for (int i = 0; i < a.Length; i++) { Console.Write(a[i] + " ");输出数字 } }
折半取余:
        
staticvoid Main33(string[] args)
        {
            //查找
            int[] a = new int[8] { 2, 9, 11, 17, 21, 25, 33, 40 };
            //输入要找的数
            int find = Convert.ToInt32(Console.ReadLine());

            //下标
            int kaiShi=0, jieShu=a.Length-1, zhongJian;
            for (; ; )
            {
                zhongJian = (kaiShi + jieShu) / 2;
                if (a[zhongJian] == find)
                {
                    Console.WriteLine("找到啦");
                    break;
                }
                else
                {
                    if (find > a[zhongJian])
                    {
                        kaiShi = zhongJian + 1;
                    }
                    else
                    {
                        jieShu = zhongJian - 1;
                    }

                    //
                    if (jieShu < kaiShi)
                    {
                        Console.WriteLine("没找到");
                        break;
                    }
                }
            }
        }
查找数字并确定位置        static void Main2(string[] args)
        {
            //查找
            int[] a = new int[8] { 2, 9, 11, 17, 21, 25, 33, 40 };
            //输入要找的数
            int find = Convert.ToInt32(Console.ReadLine());

            //查找
            bool found = false;
            for (int i = 0; i <= a.Length - 1; i++)
            {
                if (a[i] == find)
                {
                    //输出
                    found = true;
                    Console.WriteLine("找到啦,是第{0}个数", i + 1);
                    break;
                }
            }
            
            //输出找到还还是没有找到
            if (found == false)
            {
                Console.WriteLine("没有找到");
            }
            

        }
原文地址:https://www.cnblogs.com/koker/p/5425437.html