IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> C# 复习第三课 -> 正文阅读

[开发工具]C# 复习第三课

![在这里插入图片描述](https://img-blog.csdnimg.cn/4349473bb1934973bb18c84c76317106.png?x-oss-process=im

一、数组


why: 一次性存储多个相同类型的变量
how:数组类型[] 数组名=new 数组类型[数组长度]
what:

 class Program
    {
        static void Main(string[] args)
        {
            int[] str = new int[5];
            for (int i = 0; i < str.Length; i++)
            {
                str[i] = i;
                Console.WriteLine(i);
            }
            //默认值为null   null与""不一样
            string[] st = new string[8];
            //默认值为false
            bool[] bl = new bool[9];

            //数组的声明方式:
            int[] One = new int[6];
            int[] Two = { 2, 5, 6, 8, 9 };

            //以下两种可以不记
            int[] Three = new int[] { 3, 5, 7, 6 };
            int[] Four = new int[3] { 1, 2, 3 };


            Console.WriteLine("------------------");

            #region 从一个整数数组中取出最大、最小的整数,以及总和 平均值
            //int[] Five = { 8, 9, 5, 7, 2, 1, 3 };
            int max = Five[0];
             int min = Five[2];
            //int max = int.MinValue;
            //int min = int.MaxValue;
            //int sum = 0;
            //for (int i = 0; i < Five.Length; i++)
            //{
            //    //1.代表数组中当前循环到的元素
            //    //2.代表数组中的每一个元素
            //    if (Five[i] > max)
            //    {
            //        max = Five[i];
            //    }
            //    if (Five[i] < min)
            //    {
            //        min = Five[i];
            //    }
            //    sum += Five[i];
            //}
            //Console.WriteLine("最大值时:{0},最小值是:{1},总和为:{2},平均值:{3}", max, min, sum, sum / Five.Length);
            #endregion

            #region 练习2:计算一个整数数组的所有元素的和
            //int[] Five = { 8, 9, 5, 7, 6, 3, 2 };
            //int sum = 0;
            //for (int i = 0; i < Five.Length; i++)
            //{
            //    sum += i;

            //}
            //Console.WriteLine(sum);
            #endregion

            #region 练习3: 数组里面都是人的名字,分割成: 例如: 老杨 | 老苏 | 老邹…”
            //string[] str1 = { "老杨", "老苏", "老邹", "老虎", "老牛", "老王", "老马", "老蒋" };
            //将每个元素都累加到一个字符串中,然后以|分割
            string[] str1 = { "老杨", "老苏", "老邹", "老虎", "老牛", "老王", "老马", "老蒋" };
            string str2 = null;
            for (int i = 0; i < str1.Length-1; i++)
            {
                str2 +=str1[i]+"|";
               
            }
            Console.WriteLine(str2+str1[str1.Length-1]);

            //string s = string.Join("|", str1);
            //Console.WriteLine(s);
            #endregion
            #region 练习4:将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。
            int[] Six = { -5, -6, -7, 0, 5, 3, 1 };
            for (int i = 0; i < Six.Length; i++)
            {
                if (Six[i] > 0)
                {
                    Six[i] += 1;
                    Console.WriteLine(Six[i]);
                }
                else if (Six[i] < 0)
                {
                    Six[i] -= 1;
                    Console.WriteLine(Six[i]);
                }
                else
                {
                    Console.WriteLine(Six[i]);
                }
            }
            #endregion
            
           
            #region 练习5:将一个字符串数组的元素的顺序进行反转。{“我”,“是”,”好人”}“好人”,”是”,”我”}。第i个和第length - i - 1个进行交换
           
            string[] s = { "我", "是", "好人" };
            for (int i = 0; i < s.Length/2; i++)
            {
                string temp = s[i];
                s[i]= s[s.Length - 1 - i];
                s[s.Length - 1 - i] = temp;
            }
            Console.WriteLine();
            //排序之后得重新遍历一遍数组
            for (int i = 0; i <s.Length; i++)
            {
                Console.WriteLine(s[i]);
            }
            #endregion 
        }
    }

二、冒泡排序


第一种:

 class Program
    {
        static void Main(string[] args)
        {
            //int[] a = { 5, 6, 4, 2, 9, 1, 3 };
            //for (int i = 0; i < a.Length-1; i++)
            //{
            //    for (int j = 0; j < a.Length-1-i; j++)
            //    {
            //        if (a[j]>a[j+1])
            //        {
            //            int temp = a[j];
            //            a[j] = a[j + 1];
            //            a[j + 1] = temp;
            //        }
            //    }

            //}
            //foreach (object item in a)
            //{
            //    Console.WriteLine(item);
            //}

            int[] array = { 5, 9, 4, 6, 3, -1, 0 };
            MaoPaoSort(array);
            foreach (var item in array)
            {
                Console.WriteLine(item);
            }
        }

        private static void MaoPaoSort(int[] array)
        {

            for (int i = 0; i < array.Length - 1; i++)
            {//先定义 是排好的 发生位置交换证明没有排好
                bool isSort = true;//判断一下 如果需要交换位置的话就交换 不需要的话就跳出位置交换循环
                for (int j = 0; j < array.Length - 1; j++)
                {
                    if (array[j] > array[j + 1])
                    {
                        int temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                        isSort = false;
                    }
                }
                if (isSort)
                {
                    break;
                }
            }


        }
    }

第二种:

class Program
    {
        static void Main(string[] args)
        {
            int[] array = { 2, 5, 9, 4, 6, 1, 3, 7, 8 };
            //冒泡排序
            MaoPaoSort(array);
            //插入排序 InsertSort(array);

            foreach (var item in array)
            {
                Console.Write(item + ",");
            }
            Console.ReadKey();
        }
        private static void MaoPaoSort(int[] array)
        {
          
            for (int j = 0; j < array.Length - 1; j++)
            {
                bool isSort = true;
                for (int i = 0; i < array.Length - 1; i++)
                {
                    if (array[i] > array[i + 1])
                    {
                        int tamp = array[i];
                        array[i] = array[i + 1];
                        array[i + 1] = tamp;
                        isSort = false;
                    } 
                }
                if (isSort)
                {
                    break;
                }
            }
            
        }
    }

三、插入排序


class Program
    {

        static void Main(string[] args) {

            int[] array = new int[] { 1, 5, 6, 8, 7, 3, 4 };

            InsertSort(array);
            foreach (var item in array)
            {
                Console.Write(item);
            }
            Console.ReadKey();
        }

        private static void InsertSort(int[] array)
        {
            for (int i = 1; i < array.Length; i++)
            {
                int x = array[i];
                bool isInsert = false;
                for (int j = i - 1; j >= 0; j--)
                {
                    if (array[j] > x)
                    {
                        array[j + 1] = array[j];
                    }
                    else
                    {
                        array[j + 1] = x;
                        isInsert = true;
                        break;
                    }
                }
                if (!isInsert)
                {
                    array[0] = x;
                }
            }
        }
    }

四、方法的重载


what:方法名相同,参数列表的位置 顺序 类型不同
how:

 class Program
    {
        static void Main(string[] args)
        {
        }
        public static void Test(int a) { }
        public static void Test() { }
        public static void Test(string a) { }
        public static void Test(string a,string b) { }
    }

五、练习题


class Program
    {

        static void Main(string[] args)
        {
            #region MyRegion
            /*兔子繁殖问题。设有一对新生的兔子,从第三个月开始他们每个月都生一对兔子,新生的兔子从第三个月开始又每个月生一对兔子。按此规律,并假定兔子没有死亡,20个月后共有多少个兔子?要求编写为控制台程序。*/

            #endregion
            #region 水仙花数
            //for (int i = 100; i < 1000; i++)
            //{
            //    if (isSXH(i))
            //    {
            //        Console.WriteLine(i);
            //    }
            //}
            #endregion

            #region 一个控制台应用程序,求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的所有因子之和。例如6是完数,因为6=1+2+3。
            //for (int i =1; i < 1000; i++)
            //{
            //    if (isWS(i))
            //    {
            //        Console.WriteLine(i);
            //    }
            //}
            #endregion



            #region 一个控制台应用程序,要求完成写列功能。
            // 1)接收一个整数n。
            //2)如果接收的值n为正数,输出1~n间的全部整数。
            //3)如果接收的值n为负值,用break或者return退出程序。
            //4)如何n为0的话 转到1继续接收下一个整数。

            //Console.WriteLine("请输入一个整数");
            //while (true)
            //{
            //    int a = int.Parse(Console.ReadLine());
            //    if (a > 0)
            //    {
            //        for (int i = 1; i <= a; i++)
            //        {
            //            Console.Write(i + ",");
            //        }
            //        break;
            //    }
            //    else if (a == 0)
            //    {
            //        Console.WriteLine("继续输入整数");
            //        continue;
            //    }
            //    else
            //    {
            //        break;
            //    }
            //}


            #endregion

            #region 要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入。
            //Console.WriteLine("输入5个大写字母");
            //A:
            //string s = Console.ReadLine();
            //for (int i = 0; i < s.Length; i++)
            //{
            //    if (s[i]<'A'||s[i]>'Z'||s.Length!=5)  字符串本质是数组所以可以用s[i]来进行表示
            //    {
            //        Console.WriteLine("输入不对");
            //        goto A;
            //    }
            //}

            #endregion

            #region 输出1~5的平方值,要求:用for语句实现。用while语句实现。用do-while语句实现。
            //for (int i = 1; i <= 5; i++)
            //{
            //    Console.WriteLine(i*i);
            //}

            //int i = 1;
            //while ( i <= 5 )
            //{
            //    Console.WriteLine(i * i);
            //    i++;
            //}

            //int i = 1;
            //do
            //{
            //    Console.WriteLine(i * i);
            //     i++;
            //} while (i <= 5);
            #endregion

            #region 编写一个掷筛子100次的程序,并打印出各种点数的出现次数。
            //Random ran = new Random();//随机的对象要放在循环外边,不然很容易出现一样的数
            //int n1=0, n2=0, n3=0, n4=0, n5=0, n6=0;
            //for (int i = 0; i < 100; i++)
            //{
            //  int temp=  ran.Next(1,7);
            //    switch (temp)
            //    {
            //        case 1:
            //            n1++;
            //            break;
            //        case 2:
            //            n2++;
            //            break;
            //        case 3:
            //            n3++;
            //            break;
            //        case 4:
            //            n4++;
            //            break;
            //        case 5:
            //            n5++;
            //            break;
            //        case 6:
            //            n6++;
            //            break;
            //    }
            //}
            //Console.WriteLine("1出现了{0}次,2出现了{1}次,3出现了{2}次,4出现了{3}次,5出现了{4}次,6出现了{5}次",n1,n2,n3,n4,n5,n6);

            #endregion

            #region 编程输出九九乘法表
            //for (int i = 1; i <= 9; i++)   行 
            //{ 
            //    for (int j =1; j <=i; j++)  列
            //    {
            //        Console.Write("{1}*{0}="+i*j+"\t",i,j);
            //    }
            //    Console.WriteLine();
            //}
            #endregion

            #region 编程输出1000以内的所有素数
            //for (int i = 2; i < 1000; i++)
            //{
            //    if (isZS(i))
            //    {
            //        Console.WriteLine(i);
            //    }
            //}
            #endregion

            #region 编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。
            //int n = 0;
            //for (int i = 1; i <= 100; i++)
            //{
            //    if (i%3==0&&i%5!=0)
            //    {
            //        Console.WriteLine(i);
            //        n++;
            //    }
            //}
            //Console.WriteLine("一共{0}个满足条件的",n);
            #endregion

            #region 编写一个控制台程序,分别输出1~100之间的平方、平方根。
            //for (int i = 1; i <= 100; i++)
            //{
            //    Console.Write(i+"的平方:"+i*i+"     ;");
            //    Console.WriteLine(i + "的平方根:"+Math.Sqrt(i));
            //}
            #endregion

            #region 求出1~1000之间的所有能被7整除的数,并计算和输出每5个的和。
            //int sum = 0;
            //int num = 0;
            //for (int i = 1; i <= 1000; i++)
            //{
            //    if (i%7==0)
            //    {
            //        sum += i;
            //        num++;
            //        if (num==5)
            //        {
            //            Console.WriteLine(sum);
            //            sum = 0;
            //            num = 0;
            //        }
            //    }
            //}
            #endregion

            #region 让用户输入两个整数,然后再输入0-3之间的一个数,0代表加法,1代表减法,2代表乘法,3代表除法,计算这两个数字的结果
            //Console.WriteLine("输入第一个整数");
            //int a = int.Parse(Console.ReadLine());
            //Console.WriteLine("输入第二个整数");
            //int b = int.Parse(Console.ReadLine());
            //Console.WriteLine("0代表加法,1代表减法,2代表乘法,3代表除法");
            //string s = Console.ReadLine();

            //switch (s)
            //{
            //    case "0":
            //        Console.WriteLine(a+b);
            //        break;
            //    case "1":
            //        Console.WriteLine(a- b);
            //        break;
            //    case "2":
            //        Console.WriteLine(a * b);
            //        break;
            //    case "3":
            //        Console.WriteLine(a / b);
            //        break;
            //    default:
            //        break;
            //}
            #endregion

            #region 编写一个程序,对输入的4个整数,求出其中的最大值和最小值,并显示出来。


            //Console.WriteLine("请输入第一个数");
            //int a = int.Parse(Console.ReadLine());

            //Console.WriteLine("请输入第二个数");
            //int b = int.Parse(Console.ReadLine());

            //Console.WriteLine("请输入第三个数");
            //int c = int.Parse(Console.ReadLine());

            //Console.WriteLine("请输入第四个数");
            //int d = int.Parse(Console.ReadLine());

            //int max = a;
            //if (b > max) max = b;
            //if (c > max) max = c;
            //if (d > max) max = d;
            //Console.WriteLine("最大值是:" + max);


            //int min = a;
            //if (b < min )min = b;
            //if (c < min) min = c;
            //if (d < min) min = d;
            //Console.WriteLine("最小值是:" + min);
            #endregion
            Console.ReadKey();
        }

        private static bool isSXH(int a)
        {//123
            string s = a.ToString();
            int sum = 0;
            for (int i = 0; i < s.Length; i++)
            {
                int temp = int.Parse(s[i].ToString());
                sum += temp * temp * temp;
            }
            return a == sum;
        }

        private static bool isWS(int a)
        {
            int sum = 0;
            for (int i = 1; i < a; i++)
            {
                if (a % i == 0)
                {
                    sum += i;
                }
            }
            return a == sum;
        }

        //判断一个数是不是质数
        private static bool isZS(int a)
        {
            for (int i = 2; i < a; i++)
            {
                if (a % i == 0)
                {
                    return false;
                }
            }
            return true;

        }



    }
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:39:18  更:2021-10-12 23:40:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/12 2:56:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码