标签:style blog color for 数据 ar div log amp
//降序排序 Console.Write("请输入数据的个数:"); int n = Convert.ToInt32(Console.ReadLine()); int []sz=new int[n]; //输入数值 for (int i = 0; i < n; i++) { Console.Write("请输入第{0}个数:",i+1); sz[i] = Convert.ToInt32(Console.ReadLine()); } //1、冒泡排序,方法易记 for (int i = 0; i < n; i++) { //依次比较相邻两个数,并按降序排列 for (int j = 1; j < n; j++) { if (sz[j] > sz[j - 1]) { int a = sz[j]; sz[j] = sz[j - 1]; sz[j - 1] = a; } } } //2、冒泡排序的精确版,计算机运行步数少 for (int i = 0; i < n - 1; i++) { //比较出最小数放入本组数末位,下次循环比较剩余的数 for (int j = 1; j < n - 1 - i; j++) { if (sz[j] > sz[j - 1]) { int a = sz[j]; sz[j] = sz[j - 1]; sz[j - 1] = a; } } } //3、逐位排序 for (int i = 0; i < n; i++) { //本组数字的首位往下逐位比较,取出最大值放入首位 for (int j = i + 1; j < n; j++) { if (sz[i] < sz[j]) { int a = sz[i]; sz[i] = sz[j]; sz[j] = a; } } } //逐位输出 for (int i = 0; i < n; i++) { Console.WriteLine(sz[i]); }
//选出2个最高分、2个最低分 Console.Write("请输入数据个数:"); int n = Convert.ToInt32(Console.ReadLine()); int[] fenshu = new int[n]; //输入分数 for (int i = 0; i < n; i++) { Console.Write("请输入第{0}个分数:", i + 1); fenshu[i] = Convert.ToInt32(Console.ReadLine()); } //选出2个最高分,2个最低分 int max1 = fenshu[0], max2 = fenshu[1]; //定义最高分、次高分,并赋值 int min1 = fenshu[0], min2 = fenshu[1]; //定义最低分、次低分,并赋值 for (int i = 1; i < n; i++) { if (max1 <= fenshu[i]) //取第三个值,比较三个数大小,扔掉最小值 { max2 = max1; max1=fenshu[i]; } else if (max2 < fenshu[i]) { max2=fenshu[i]; } if (min1 >= fenshu[i]) //取第三个值,比较三个数大小,扔掉最大值 { min2 = min1; min1 = fenshu[i]; } else if (min2 > fenshu[i]) { min2 = fenshu[i]; } } //输出 Console.WriteLine("两个最高分是{0},{1};两个最低分是{2},{3}:",max1,max2,min1,min2);
//手机号抽奖 Console.Write("请输入手机号个数:"); int n = Convert.ToInt32(Console.ReadLine()); string[] phone_no = new string[n]; for (int i = 0; i < n; i++) { Console.Write("请输入第{0}个手机号:", i + 1); phone_no[i] = Console.ReadLine(); } DateTime over = DateTime.Now.AddSeconds(5); //定义一个结束时间内,为5秒后 Random a = new Random(); //定义一个随机数生成器 Console.ForegroundColor = ConsoleColor.Blue; //前景色设为蓝色 while (DateTime.Now <= over) { int b = a.Next(n); Console.Clear(); //清屏 Console.WriteLine(phone_no[b]); } //以下为抽奖作弊设置 Console.Clear(); Console.WriteLine("13999999999");
//二分法查询举例 Console.Write("请输入数据个数:"); int n = Convert.ToInt32(Console.ReadLine()); int[] no =new int[n]; int x=0,y = n-1; //x、y分别为每次把数组二分后的最小元素、最大元素的下标 //为定义的数组赋值(该程序中数组默认按升序排列,否则需要为数组元素排序) for (int i = 0; i < n; i++) { Console.Write("输入数据{0}:", i + 1); no[i] = Convert.ToInt32(Console.ReadLine()); } Console.Clear(); //清屏 Console.Write("请输入要查询的数:"); int sel = Convert.ToInt32(Console.ReadLine()); //二分法查询 int zj =0; while (true) { zj = Convert.ToInt32(Math.Round(1.0 * (y - x) / 2)); //zj为x,y的近似中间值 if (sel >= no[x] && sel <= no[y]) //判断查询值是否在数组范围内 { if (sel == no[x + zj]) //判断查询值是否是本组元素的中间元素 { Console.WriteLine("第{0}个元素!", zj + x + 1); break; } else if (sel < no[x + zj]) //查询值小于中间元素,则中间元素作为下组元素的最大元素 { y = x + zj; continue; } else if (sel > no[x + zj]) //查询值大于中间元素,则中间元素作为下组元素的最小元素 { x = x + zj; continue; } else if (sel == no[x]) //查询值与本组元素首位元素比较 { Console.WriteLine("第{0}个元素!", x + 1); break; } else if (sel == no[y]) //查询值与本组元素末位元素比较 { Console.WriteLine("第{0}个元素!", y + 1); break; } } else if (zj == 1 || sel < no[x] || sel > no[y]) { Console.WriteLine("查无此数!"); break; } }
标签:style blog color for 数据 ar div log amp
原文地址:http://www.cnblogs.com/phantom-k/p/3933907.html