VR_C#拒绝摸鱼第四天

87 阅读1分钟

练习题

最大公约数

        //输入两个整数,求两个整数的最大公约数
        Console.WriteLine("请输入两个整数:");
        int num_1 = Convert.ToInt32(Console.ReadLine());
        int num_2 = Convert.ToInt32(Console.ReadLine());
        if (num_1 > num_2)
        {
            int temp = num_1;
            num_1 = num_2;
            num_2 = temp;
        }
        if(num_2 % num_1 == 0)
        {
            Console.WriteLine("两数的最大公约数为:{0}", num_1);
        }
        else
        {
            for (int i = num_1; i > 0; i--)
            {
                if (num_1 % i == 0 && num_2 % i == 0)
                {
                    Console.WriteLine("两数的最大公约数为:{0}", i);
                    break;
                }
            }
        }
        
        

最小公倍数

        //输入两个整数,求最大公倍数
        Console.WriteLine("请输入两个整数:");
        int num_1 = Convert.ToInt32(Console.ReadLine());
        int num_2 = Convert.ToInt32(Console.ReadLine());
        int max_num = Math.Max(num_1, num_2);
        int num_3=max_num;
        for(; ; )
        {
            if (max_num % num_1 == 0 && max_num % num_2 == 0)
            {
                Console.WriteLine("最小公倍数为{0}", max_num);
                break;
            }
            max_num += num_3;
        }
        
        

猜数字游戏

        Random obj1 = new Random();//生成一个随机数对象,里面会有一个方法Next(a,b)方法从a取到b-1,不包括b
        int num_1 = obj1.Next(1, 100);
        Console.WriteLine("猜数字游戏,请输入一个1到100之间的数字:");
        for (; ;)
        {
            int num_2 = Convert.ToInt32(Console.ReadLine());
            if (num_2 > num_1)
            {
                Console.WriteLine("数字猜大了,请重新输入:");
            }
            else if (num_2 < num_1)
            {
                Console.WriteLine("数字猜小了,请重新输入:");
            }
            else
            {
                Console.WriteLine("恭喜,数字猜中了,游戏结束");
                break;
            }
        }
        

数组

使用一个大的盒子来存一组数据 数组 引用类型 存的是同一种类型的数据

和普通的数据类型在内存中存的位置不一样,存在堆中

        int[] year = { 1, 2, 3, 4, 5 };//定义方式
        Console.WriteLine(year.Length);//输出year的长度为5
        int[] id;//第二种定义方式  限定长度   初始化声明
        id = new int[10]{1,2,3,4,5};//生成一个数组 数组长度是10 int数据类型有默认的值为0
        Console.WriteLine(id[2]);//通过下标读取数值  从编号0开始读取
        
        

使用for循环遍历数值

        for(int i = 0; i < year.Length; i++)
        {
            Console.WriteLine(year[i]);//i为下标
        }
        //另一种方法
        foreach(int temp in year)//会遍历数组 然后每次获取的值给temp变量
        {
            Console.WriteLine(temp);//temp为数值
        }
        
        

关于字符串的几个方法

        //转大小写
        string name = "  小明,同学,ab,cd  ";
        Console.WriteLine(name.ToUpper());
        Console.WriteLine(name.ToLower());
        //将字符串中左右的空格去掉Trim()
        Console.WriteLine(name.Trim());
        //去掉左边的空格
        Console.WriteLine(name.TrimStart());
        //去掉右边的空格
        Console.WriteLine(name.TrimEnd());//返回一个新的字符串,不改变原数组
        name = name.Trim();
        
        //字符串也可以看出一个数组 也可遍历 但不可改数值
        for(int i = 1; i < name.Length; i++)
        {
            Console.WriteLine(name[i]);
        }

        string[] name1;
        name1 = name.Split(",");//以,为界输出其他字符
        foreach(string temp in name1)
        {
            Console.WriteLine(temp);
        }
        
      

练习题

换可乐计算,3个空瓶换一瓶可乐

        Console.WriteLine("输入可乐瓶数:");
        int C_bottles = Convert.ToInt32(Console.ReadLine());
        int sum= C_bottles;
        while (C_bottles>2 )//大于2可以一直换
        {
            sum += C_bottles / 3;//总瓶数加上换得的瓶数
            C_bottles = C_bottles / 3 + C_bottles % 3;//换得得瓶数加上不够换的
        }
        Console.WriteLine("总共可以喝{0}瓶,还剩{1}个空瓶",sum+C_bottles,C_bottles);
        
        
        

字符加密

            char[] sList = Console.ReadLine().ToCharArray();// Console.ReadLine().ToCharArray();字符串转字符数组
            for (int i = 0; i < sList.Length; i++)
            {
                if (('a' <= sList[i] && sList[i] <= 'z') || ('A' <= sList[i] && sList[i] <= 'Z'))
                {
                    if ('x' <= sList[i] || ('X' <= sList[i] && sList[i] <= 'Z'))
                    {
                        sList[i] = Convert.ToChar(sList[i] + 23);
                    }
                    else
                    {
                        sList[i] = (char)(sList[i] + 3);
                    }
                }
            }
            Console.WriteLine(string.Join("", sList));//将数组通过某个字符连接成字符串string.Join(连接符,数组)最后返回一个字符串  和Split相反
            

string.Join()示例

string[] stList = { "1", "2", "3", "4" };
Console.WriteLine(string.Join("-", stList));