3.13·········冒泡排序

抽奖活动:
输入n个手机号码,滚动号码,5秒钟后停止
输出中奖人号码

 Console.Write("请输入手机号码个数:");
            int a = int.Parse(Console.ReadLine());
            string [] shuzu = new string [a];
            for (int i = 0; i < a; i++)
            {
                Console.Write("请输入第"+(i+1)+"个手机号码:");
                shuzu[i] = Console.ReadLine();
            }
            Console.WriteLine("所有号码输入完毕,请按回车键开始滚动号码!");
            Console.ReadLine();
            Random ran = new Random();//初始化
            int r = 0;
            for (; ;)
            {
                int aa = ran.Next(a);//小于a的随机一个数
                Console.Clear();
                Console.WriteLine(shuzu[aa]);
                System.Threading.Thread.Sleep(100);//休眠0.1秒

                if (r == 49)//第50遍即5秒后跳出
                {
                    //作弊代码
                    //Console.Clear();
                    //Console.WriteLine("110");//循环结束后显示的号码是110
                    break;
                }
                r++;
            }

            Console.ReadLine();

冒泡排序:数组里面的每一个数与他后面的每一个数相比较,若小于,则换位

 int[] shuzu = new int[] { 3, 1, 8, 4, 0, 5, 6 };
            //8134056
            //8314056
            //8413056
            //8513046
            //8613045
            //8631045
            //8641035
            //8651034
            //8653014
            //8654013
            //8654103
            //8654301
            //8654310
            int zhong;
            for (int i = 0; i < 6; i++)
            {
                for (int j = i + 1; j < 7; j++)
                {
                    if (shuzu[i] < shuzu[j])//shuzu[0]~shuzu[6]从大到小排列,若条件是大于,则从小到大排列
                    {
                        zhong = shuzu[i];
                        shuzu[i] = shuzu[j];
                        shuzu[j] = zhong;
                    }
                }
            }
            //for (int i = 0; i < 7; i++)
            //{
            //    Console.Write(shuzu[i] + " ");
            //}
            foreach (int a in shuzu)//遍历数组
            {
                Console.Write(a+" ");
            }
            Console.ReadLine();

foreach(object a in shuzu),打印shuzu里面的每一个数据,变量a的数据类型必须和数组的数据类型一致,若实在不知什么类型,可用object。

object是所有类的基类,可以接收任何数据类型

object a = 1;
object b = "123";
object c = true;
object d = 3.14;

输入人数,输入每个人的成绩
需要最高分、最低分
去掉两个最高分,去掉两个最低分,求平均分。

   Console.Write("请输入人数:");
            int n = int.Parse(Console.ReadLine ());
            double[] s = new double[n];//成绩是double类型
            double zhong;
            double sum = 0;
            for (int i = 0; i < n;i++ )
            {
                Console.Write("请输入第"+(i+1)+"个人的成绩:");
                s[i] = double.Parse(Console.ReadLine());//将n个人的成绩放进数组
            }
            for (int i = 0; i < n - 1;i++ )//冒泡排序
            {
                for (int j = i + 1; j < n;j++ )
                {
                    if (s[i]>s[j])//从小到大排列
                    {
                        zhong = s[i];
                        s[i] = s[j];
                        s[j] = zhong;
                    }
                }
            }
            Console.WriteLine("最高分为:"+s[n-1]);
            Console.WriteLine("最低分为:" + s[0]);
            for (int i = 2; i < n - 2; i++)//去掉两个最高分,去掉两个最低分
            {
                sum += s[i];
            }
            Console.WriteLine("去掉两个最高分,去掉两个最低分平均分为:"+sum/(n-4));
            Console.ReadLine();

五个候选班长,20人投票。(输入1-5来表示支持哪个人)最后查看票数,看那个人胜出。

int[] s=new int[20];
            for(int i=0;i<20;i++)
            {
                Console.Write("请问你支持的候选人是几号:");
                for (; ; )
                {
                    int a = int.Parse(Console.ReadLine());
                    if (a < 1 || a > 5)
                        Console.Write("输入有误,请重新输入您支持的候选人号码:");
                    else
                    {
                        s[i] = a;
                        break;
                    }
                }
            }
            int s1 = 0, s2 = 0, s3 = 0, s4 = 0, s5 = 0;
            for (int j = 0; j < 20; j++)
            {
                if(s[j] ==1)
                    s1 += 1;
                if (s[j] == 2)
                    s2 += 1;
                if (s[j] == 3)
                    s3 += 1;
                if (s[j] == 4)
                    s4 += 1;
                if (s[j] == 5)
                    s5 += 1;
            }
            if (s1 >= s2 && s1 >= s3 && s1 >= s4 && s1 >= s5)
                Console.Write("一号 ");
            if (s2 >= s1 && s2 >= s3 && s2 >= s4 && s2 >= s5)
                Console.Write("二号 ");
            if (s3 >= s2 && s3 >= s1 && s3 >= s4 && s3 >= s5)
                Console.Write("三号 ");
            if (s4 >= s2 && s4 >= s3 && s4 >= s1 && s4 >= s5)
                Console.Write("四号 ");
            if (s5 >= s2 && s5 >= s3 && s5 >= s4 && s5 >= s1)
                Console.Write("五号 ");
            Console.WriteLine("获胜");
时间: 2024-10-11 18:03:51

3.13·········冒泡排序的相关文章

Java——选择、冒泡排序、折半查找

1 //选择排序对数据进行升序排序 2 public static void selectSortArray(int[] arr){ 3 for(int i = 0; i<arr.length-1;i++){ 4 for(int j = i+1;j<arr.length;j++){ 5 if(arr[i]>arr[j]){ 6 int temp = arr[j]; 7 arr[j] = arr[i]; 8 arr[i] = temp; 9 } 10 } 11 } 12 } 13 //冒泡

Python实现排序(冒泡、快排、归并)

Thomas H.Cormen 的<算法导论>上介绍的几个经典排序算法的Python实现. 1.冒泡排序: 简单的两重循环遍历,使最小(最大)的值不断地往上升(下沉)而实现的排序,算法时间为O(n2). 代码如下: 1 def up_sort(a): 2 # 冒泡排序 3 4 a_length = len(a) 5 while True: 6 i = 0 7 j = 1 8 9 while True: 10 if a[i] > a[j]: 11 a[i], a[j] = a[j], a[

算法1-冒泡排序

冒泡排序的定义:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来. 以下是我学习算法之前一直用的排序算法: 1 package test.com; 2 3 import Java.util.Arrays; 4 import java.util.Random; 5 6 public class BubbleSort { 7 8 9 public static void main(String[] args) { 10 11 int len = 10;//生成10位随机数 12 int[]

Javascript初级 小练习

练习1:计算1到100之间整数的和: var sum = 0; for(var i =1; i<=100; i++){ sum+=i; } console.log(sum) 练习2:要求用户输入用户名和密码,只要不是admin.888888就一直提示用户名或密码错误,请重新输入. var name = +prompt("输入用户名"); var password = +prompt("输入密码"); while(name !="admin"

史上最全的iOS面试题及答案

1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString encoding: (NSStringEncoding)encoding { NSString  *obj; obj = [self alloc

java 13-1 数组高级二级查找

查找: 1.基本查找:数组元素无序(从头找到尾) 2.二分查找(折半查找):数组元素有序 pS:数组的元素必须有顺序,从小到大或者从大到小.以下的分析是从小到大的数组 二分查找分析: A:先对数组进行对半(也就是设置 min索引为0,max索引为arr.length-1,然后对半的 索引mid为(min+max)/2) B:把所需要查找的数据x跟arr[mid]进行对比 a:两者的值相等,就返回mid索引 b:两者不等: 1.如果 x > arr[mid],则 min索引的值改变为:min =

《招一个靠谱的移动开发》iOS面试题及详解(上篇)

多线程.特别是NSOperation 和 GCD 的内部原理. 运行时机制的原理和运用场景. SDWebImage的原理.实现机制.如何解决TableView卡的问题. block和代理的,通知的区别.block的用法需要注意些什么. strong,weak,retain,assign,copy nomatic 等的区别. 设计模式,mvc,单利,工厂,代理等的应用场景. 单利的写法.在单利中创建数组应该注意些什么. NSString 的时候用copy和strong的区别. 响应值链. NSTi

ios开发——常用经典算法OC篇&amp;冒泡/快速

冒泡排序与快速排序 1.序言 ios开发中涉及到算法的地方还真不多,除非你的应用程序真的非常大,或者你想你的应用程序性能非常好才会去想到关于算法方面的性能优化,而在ios开发中真的能用得到的也就是关于排序的,当然如果你是做游戏的话那么你可能会涉及到不少的算法或者优化问题,但是这不是本篇文章讨论的范围. 后面的文章中,我将会给大家详细介绍八大算法. 2.冒泡排序 2.1 引出 前面的两篇博客里讲的插入排序是基于“逐个记录插入”,选择排序是基于“选择”,那么冒泡排序其实是基于“交换”.每次从第一个记

面试iOS

以下是 面试题链接HYPERLINK "http://zhangmingwei.iteye.com/blog/1748431"http://zhangmingwei.iteye.com/blog/1748431HYPERLINK "http://blog.sina.com.cn/s/blog_8dabcad30101hvmj.html"http://blog.sina.com.cn/s/blog_8dabcad30101hvmj.htmlHYPERLINK &quo