首页 > 代码库 > 140824●语句应用举例

140824●语句应用举例

            //降序排序            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;                }            }

 

140824●语句应用举例