小江同学的C#学习笔记第三天9.27

135 阅读3分钟

世上无难事,只要肯攀登

山高人为峰,只要努力珠穆朗玛峰也会为你低头,当然了除了努力之外,你要是有套专业爬山工具,那会登的更快

第三天知识点速记

今天没有新知识点,全是练习题(我的头发。。。揪下来一大把),那就总结几个写代码过程中的感悟吧

1.代码追求的是高效率和高性价比,意思就是在最快的时间内写出最少的代码实现最多的功能,当然这个最快最少最多也不一定,有些时候换成最合适更准确,但是核心意思是一样的

2.养成良好的代码习惯,包括代码块与块之间的缩进,代码中的注释编写,包括函数名以及变量名的编写,虽然代码少的时候没什么感觉,但当代码变多(十几行,五六个变量就够了),你就能体会到一遍看代码一遍在心里骂自己这特喵写的什么东西的感觉了,一个规范的编写格式能够给自己(他人)带来十分舒服的编程体验,不管是观看代码结构,还是代码报错之后的查找与修改,一个好的编程习惯能够大大提高你的编程速度,当然,不是有那么一句话吗,我只讨厌两种人,一种是写代码不写注释的,一种是让我写代码要写注释的

3.附一下今天写的练习题,价值一把头发!怎么说呢,几乎每个写完之后再看老师的代码,我都能做出一些小修改。。。。。但是!问题是都实现了的,你可以说我代码麻烦,但绝对不能说我代码有问题(黑脸叉腰!)

using System;
namespace demo9_27
{
    class Programs
    {
        static void Main(string[] args)
        {
            //每个块都会有大括号,大括号会有自己的作用域,我在大括号中定义的变量就只能在当前大括号内使用,即局部变量
            int i = 1;
            for (; i < 10; i++)
            {
                for (int j=10; j >0; j--)
                {
                    Console.WriteLine(j);
                }
                Console.WriteLine(i);
            }
            //Console.WriteLine(i);
            

            //输入整数n,输出n层的三角形
            Console.Write("请输入三角形层数:");
            int i = Convert.ToInt32(Console.ReadLine());
            
            for (int j=1 ; j <= i; j++)
            {
                for(int k=1 ; k <= j; k++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();

            }

            //输入整数n,输出n层的等腰三角形
            
            Console.Write("请输入三角形层数:");
            int z = Convert.ToInt32(Console.ReadLine());
            for (int x=1; x <= z; x++)
            {
                for(int y = x; y < z; y++)
                {
                    Console.Write(" ");
                }
                for (int y = 1; y <= x * 2 - 1; y++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            

            //输出一个菱形
            Console.Write("请输入三角形层数:");
            int i = Convert.ToInt32(Console.ReadLine());
            for (int j = 1; j <=i; j++)
            {
                for (int k = j; k < i; k++)
                {
                    Console.Write(" ");
                }
                for (int k = 1; k <= j * 2 - 1; k++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            //将三角形反过来输出
            for (int a = 1; a <= i - 1; a++)
            {
                for (int b = 1; b <= a; b++)
                {
                    Console.Write(" ");
                }
                for (int b = 1; b <= 2 * (i - a) - 1; b++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            
            //正反输出乘法口诀表
            //正
            for (int i = 1; i <= 9; i++)
            {
                for (int y = 1; y <= i; y++)
                {
                    Console.Write("{1}*{0}={2}  ", i, y, i * y);
                }
                Console.WriteLine();
            }
            //反
            for (int i = 9; i >= 1; i--)
            {
                for (int y = 1; y <= i; y++)
                {
                    Console.Write("{1}*{0}={2}  ",i,y,i*y);
                }
                Console.WriteLine();
            }
            

            //坤贩子总共有100只坤,用100块钱买公坤3元,母坤5元,小坤2元,每种坤至少需要1只,输出所有结果
            int m =5, g=3, x=2, d = 1;
            for (int a = 1; a <= 100 / 5; a++)
            {
                for (int b = 1; b <= 100 / 3; b++)
                {
                    for (int c = 1; c <= 100 / 2; c++)
                    {
                        if (a * m + b * g + c * x  == 100 && a + b + c <= 100)
                        {
                            
                            Console.WriteLine("第{3}种:购买{0}只母坤,{1}只公坤,{2}只小坤刚好100元", a, b, c,d);
                            d++;
                        }

                    }
                }
            }
            

            //输入两个整数,num1,num2,输出这两个正整数的最大公约数
            Console.Write("请输入正整数num1:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入正整数num2:");
            int num2 = Convert.ToInt32(Console.ReadLine());
            int num3 = Math.Min(num1, num2);
            for (int i = num3; i > 0; i--)
            {
                if (num1 % i == 0 && num2 % i == 0)
                {
                    Console.WriteLine("{0}和{1}之间的最大公约数是{2}", num1, num2, i);
                    break;
                }
            }
            


            //创建1个随机数  用到的是Random类 会生成一个Random对象
            //对象中会有一个方法next(a,b) 表示取a到b-1中的一个整数,不包括b
            Random a = new Random();  //Random
            int b = a.Next(1, 9);    //随机取1到9-1中的一个整数
            Console.WriteLine(b);
            

            //系统生成一个随机数(1-100),让玩家猜一个数字,如果玩家猜的小了,提示小了,如果猜的大了,提示
            Random a = new Random();  
            int b = a.Next(1, 101);
            while(true)
            {
                Console.Write("请输入一个1-100的整数:");
                int c = Convert.ToInt32(Console.ReadLine());
                if (c > b)
                {
                    Console.WriteLine("您猜大了,请重猜");
                }
                else if (c < b)
                {
                    Console.WriteLine("您猜小了,请重猜");
                }
                else
                {
                    Console.WriteLine("恭喜您,猜对了");
                    break;
                }
            }



        }
    }
}