2022.9.30VR上课代码笔记

95 阅读1分钟

回顾作业

格式如下

            string str = Console.ReadLine();//获取控制台输入的字符串 数字都是用空格
            string[] strArray = str.Split("");//使用空格将字符串分割
            int[] intArray = new int[strArray.Length];//创建一个整形的数组
            for (int i = 0; i < intArray.Length; i++)
            {
                intArray[i] = Convert.ToInt32(strArray[i]);

            }

编写-一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:

            'a'→'d' 'b'→'e' 'W'→'Z .... 'x'→'a"y'→b' 'Z→'c"A'→'D'B'→'E'
'W' > Z' .... X→'A''Y'→'B' Z'→'C?对于其他字符,不进行加密。

            //先有一个字符数组
            char[] charArray = Console.ReadLine().ToCharArray();//把输入的字符串拆分成一个一个的字符
            //遍历字符数组
            for(int i=0;i<charArray.Length;i++)
            {
                if ('A' <= charArray[i]&& charArray[i] <= 'Z' || 'a' <= charArray[i] && charArray[i] <= 'z')
                {
                    if('W'< charArray[i]&& charArray[i]<='Z'||'w'< charArray[i])
                    {
                        charArray[i] = (char)(charArray[i] - 23);
                    }
                    else
                    {
                        charArray[i] = (char)(charArray[i] + 3);
                    }
                }
            }
            Console.WriteLine(charArray);

image.png

怎么样对数组进行排序

            {
                //对比两个相邻的数
                for(int j=0;j<intArray.Length-1-i;j++)
                {

                }
            }
        

练习一:写一个程序对数字进行排序

          string str = Console.ReadLine();//获取控制台输入的字符串 数字都是用空格
            string[] strArray = str.Split(",");//使用空格将字符串分割
            int[] a = new int[strArray.Length];//创建一个整形的数组
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = Convert.ToInt32(strArray[i]);

            }
            //int[] a = { 45, 23, 56, 78 };
            for (int i = 0; i < a.Length - 1; i++)
            {
                int k = 0;
                for (int j = 0; j < a.Length - i - 1; j++)
                {
                    if (a[j] > a[j + 1])
                    {
                        int temp = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = temp;
                    }
                    k = 1;
                    
                }
                if(k==0)
                {
                    break;
                }
            }
            for(int i=0;i<a.Length;i++)
            {
                Console.WriteLine("{0}", a[i]);
            }

image.png

练习二:有n个整数,已经按照从小到大顺序排序好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列一样有序

            string str = Console.ReadLine();//获取控制台输入的字符串 数字都是用空格
            string[] strArray = str.Split(",");//使用空格将字符串分割
            int[] a = new int[strArray.Length];//创建一个整形的数组
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = Convert.ToInt32(strArray[i]);

            }
            Array.Sort(a);//排序函数
            Console.WriteLine("请输入一个整数");
            int b = Convert.ToInt32(Console.ReadLine());
            int c = 0;//下表位置
            //定义一个新数组,长度加一
            int[] d = new int[a.Length + 1];
            for(int i=0; i<a.Length;i++)
            {
                if (a[i] <= b && b <= a[i+1])
                {
                    c= i + 1;
                    break;
                }
            }
            //循环结束,有两个情况出现就是插入到第一个下标位置前或者插入到最后一个下标
            if (a[a.Length-1]<b)
            {
                c = a.Length;
            }
            //给数组赋值
            for(int i=0;i<c;i++)
            {
                d[i] = a[i];

            }
            d[c] = b;
            for(int i=c+1;i<d.Length;i++)
            {
                d[i] = a[i - 1];
            }
            //Console.WriteLine(String.Join("",d));
            foreach(int temp in d)
            {
                Console.WriteLine(temp);
            }

image.png

练习三:最近转秋,气温逐渐下降,小明决定研究天气的变化,他收集了连续N天的最低气温数据,现在想知道气温一直下降的最长连续天数。

            string str = Console.ReadLine();//获取控制台输入的字符串 数字都是用空格
            string[] strArray = str.Split(",");//使用空格将字符串分割
            int[] a = new int[strArray.Length];//创建一个整形的数组
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = Convert.ToInt32(strArray[i]);

            }
            int n = 1;//创建一个变量记录每次降温的天数,降一次温就加一count
            int m = 1;//创建一个变量记录最大连续降温的天数的值
            for(int i=0;i<a.Length-1;i++)
            {
                if (a[i] > a[i+1])
                {
                    n++;
                }
                else
                {
                    if(n>m)
                    {
                        m = n;
                    }
                    n = 1;
                }
            }
            if (m < n) m = n;
            Console.WriteLine("连续的天数是{0}",m);
 

image.png