字符串类型的数组

084-字符串-字符数组

 //字符串回顾
            Console.WriteLine("Hello World");
            string name = "mike";//字符串的声明
            name = "mike" + "123";//字符串的组拼
            name = "" + 45;//字符串和数字组拼的时候,数字就会被转化成字符串
            Console.WriteLine(name);//输出的结果是字符串"45"

取得字符串的长度和取得特定字符的方法

 //取得字符串的长度
            Console.WriteLine(name.Length);
 //可以使用数组的方法取得字符数组里的特定字符
            Console.WriteLine(name[2]);

可以用for循环遍历一个字符串所有的字符

  //字符数组遍历
for(int i = 0; i < name.Length; i++)
            {
                Console.Write(name[i]+" ");
            }

如果倒序遍历⼀个字符串中的每⼀个字符。

//字符串的倒序遍历
            for(int i = name.Length - 1; i >= 0; i--)//注意字符串的最大索引是长度-1
            {
                Console.Write(name[i] + " ");
            }

字符串方法的调用

//字符串方法调用
            //name.methodName();
            string name = "mike";

关于字符串操作的常⽤⽅法:

这些字符串的操作方法都不会对原字符串产生影响,我们会定义一个新的字符串去接受

1、ToLower() ToUpper()

 string name = "Mike";

            string str2=name.ToLower();//转换小写
            Console.Write(name + "-" + str2);

  string str3 = name.ToUpper();//转换大写
            Console.Write(name + "-" + str3);

2、Trim() TrimStart() TrimEnd()

 string name = "  Mike Liang  ";
string str4 = name.Trim();//用来去除字符串前后的空格
            Console.Write(name + "-" + str4);//  Mike Liang  -Mike Liang

            string str5 = name.TrimStart();//用于去除前面的空格
            Console.Write(name + "-" + str5);

            string str6 = name.TrimEnd();//用于去除后面的空格
            Console.Write(name + "-" + str6);

3、Split()

string name = " xiaoming,zhangsan,xiaohong ";
            string[] strArray = name.Split(",");//让字符串通过逗号分割
            foreach(string str in strArray)
            {
                Console.Write(str);
            }

087-编程题-可乐和字符串加密

3个可乐瓶可以换⼀瓶可乐,现在有364瓶可乐,问⼀共可以喝多少瓶可乐,剩下⼏个空瓶

 //需要两个变量,瓶子的个数,喝了多少可乐
            int pingNumber = 364;
            int heNumber = 264;
            while (pingNumber > 2)
            {
                heNumber += pingNumber / 3;
                pingNumber=(pingNumber / 3) + (pingNumber % 3);
            }
            Console.WriteLine("一共可以喝" + heNumber + "剩下的瓶子数量" + pingNumber);

编写⼀个应⽤程序⽤来输⼊的字符串进⾏加密,对于字⺟字符串加密规则如下:

‘a’→’d’ ‘b’→’e’ ‘w’→’z’ …… ‘x’→’a’ ‘y’→’b’ ‘z’→’c’‘A’→’D’ ‘B’→’E’ ‘W’→’Z’ …… ‘X’→’A’ ‘Y’→’B’Unity 1142 C#编程-第⼀季-编程基础-宇宙最简单2021最新版

54

‘Z’→’C’?对于其他字符,不进⾏加密

string str = Console.ReadLine();
            char[] strArray = str.ToCharArray();
            for(int i = 0; i < str.Length; i++)
            {
                if ((strArray[i] >= 'a'&&strArray[i]<='z')||(strArray[i] >= 'A' && strArray[i] <= 'Z'))//满足这两个条件说明是一个小写字母或者是大写字母
                {
                    strArray[i] = (char)(strArray[i] + 3);//需要强行转换
                    if (strArray[i] > 'z' && strArray[i] < 'z' + 3)
                    {
                        strArray[i] = (char)(strArray[i] - 26);
                    }
                    if (strArray[i] > 'Z' && strArray[i] < 'Z' + 3)
                    {
                        strArray[i] = (char)(strArray[i] - 26);
                    }



                }

            }
            foreach(char temp in strArray)
            {
                Console.Write(temp);
            }

取得最小值

输⼊n(n<100)个数,找出其中最⼩的数,将它与最前⾯的数交换后输出这些数。

//23 23 56 11 22 33 2
            string str = Console.ReadLine();
            string[] strArray = str.Split(' ');
            int[] intArray = new int[strArray.Length];//声明一个长度和字符串一样的数组
            for(int i = 0; i < strArray.Length; i++)
            {
                int number = Convert.ToInt32(strArray[i]);
                intArray[i] = number;
            }
            int min = intArray[0];
            int minIndex = 0;
                for(int i = 1; i < intArray.Length; i++)
            {
                if (intArray[i] < min)
                {
                    min = intArray[i];
                    minIndex = i;
                }
            }
            int temp = intArray[0];
            intArray[0] = intArray[minIndex];
            intArray[minIndex] = temp;
            foreach(int i in intArray)
            {
                Console.Write(temp + " ");
            }

089-编程题-插入

编写⼀个控制台程序,要求⽤户输⼊⼀组数字⽤空格间隔,对⽤户输⼊的数字从⼩到⼤输出。

(Array.Sort⽅法和冒泡排序)

排序演⽰⽹站:https://visualgo.net/en/sorting?slide=1

有n(n<=100)个整数,已经按照从⼩到⼤顺序排列好,现在另外给⼀个整数x,请将该数插⼊到

序列中,并使新的序列仍然有序。

输出新的序列

//得到一个有序的数组
            string str = Console.ReadLine();
            string[] strArray = str.Split(' ');
            int[] intArray = new int[strArray.Length];
            for(int i = 10; i < strArray.Length; i++)
            {
                int number = Convert.ToInt32(strArray[i]);
                intArray[i] = number;
            }
            int x = Convert.ToInt32(Console.ReadLine());
            int m = intArray.Length-1;
            //bool find = false;//是否找到满足条件的索引位置,这个索引的位置满足条件m<=x<=m+1
            for(int i = 0; i < intArray.Length-1; i++)
            {
                if (x >= intArray[i] && x <= intArray[i + 1])
                {
                    m = i;
                    //find = true;
                    break;
                }
            }
            //if (find = true)
            //{
            //    m = intArray.Length - 1;
            //}
            int[] intArrayNew = new int[intArray.Length + 1];
            //0-m
            for(int i = 0; i < m + 1; i++)
            {
                intArrayNew[i] = intArray[i];
            }
            intArrayNew[m + 1] = x;
            for(int i = m + 1; i < intArray.Length; i++)
            {
                intArrayNew[i] = intArray[i];

            }
            foreach(int temp in intArrayNew)
            {
                Console.Write(temp + " ");
            }

092-编程题-判断合法标识符

输⼊⼀个字符串,判断其是否是C#的合法标识符。

{
            string str = Console.ReadLine();

            //要判断 数字 字母 _
            //数字开头
            bool isRight = true;
            for(int i = 0; i < str.Length; i++)
            {
                if((str[i]<'0'|| str[i] > '9') && (str[i] < 'a' || str[i] > 'z') && (str[i] < 'A' || str[i] > 'Z') && (str[i]!='_'))
                {
                    isRight = false;
                    break;
                }
            }
            if(str[0] >= '0' &&str[0] <= '9')
            {
                isRight = false;
            }
            if (isRight)
            {
                Console.WriteLine("是合法标志符");
            }
            else
            {
                Console.WriteLine("不是合法标志符");
            }
        }

“回⽂串”是⼀个正读和反读都⼀样的字符串,⽐如“level”或者“noon”等等就是回⽂串。请写⼀个

程序判断读⼊的字符串是否是“回⽂”。

string str = Console.ReadLine();
            //8 8/2=4 0-3
            //7 7/2=3 0-2
            //7 
            //0-6 1-5 2-4 相加的和都是6    i~length-1-i
            bool isHui = true;
            for(int i = 0; i < str.Length / 2; i++)
            {
                //比较i是否等于length-1-i是否相等
                if (str[i] != str[str.Length - 1 - i])
                {
                    isHui = false;
                    break;
                }
                if (isHui)
                {
                    Console.WriteLine("是回文串");
                }
                else
                {
                    Console.WriteLine("不是回文串");
                }

最近夏⽇炎热,令张三⾮常的不爽。最近张三开始研究天⽓的变化。

历经千⾟万苦,他收集了连续N(1<N<1000000)天的最⾼⽓温数据。

现在他想知道⽓温⼀直上升的最⻓连续天数。

样例输⼊:

1 3 5 2 3 5 7 8 6 9

样例输出

5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值