内容:
数组的定义是:数据类型[] 变量名=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] + "\t");输出数字 } }
折半取余:
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("没有找到"); } }
时间: 2024-10-11 22:15:25