3月15日

先复习一下:

1.输入两个数比较大小,返回大的

    {
        public double bijiao()
        {
            Console.Write("请输入第一个数");
            double a = double.Parse(Console.ReadLine());
            Console.Write("请输入第二个数:");
            double b = double.Parse(Console.ReadLine());
            if (a > b)
            {
                return a;
            }
            else
            {
                return b;
            }
        }

2.写一个函数,剪子包袱锤。

  public int fenshu=0;
        public void Caiquan()
        {
            for (; ; )
            {
                Console.WriteLine("猜拳游戏:");
                Console.WriteLine("1.剪子");
                Console.WriteLine("2.包袱");
                Console.WriteLine("3.锤");
                Console.WriteLine("4.结束");
                Console.Write("请出拳(输入选择的号码即可):");
                int a = int.Parse(Console.ReadLine());
                Random ran = new Random();
                int n = ran.Next(1, 4);
                if (a > 0 && a < 4)
                {
                    switch (n)
                    {
                        case 1:
                            Console.WriteLine("电脑出拳:剪子");
                            break;
                        case 2:
                            Console.WriteLine("电脑出拳:包袱");
                            break;
                        case 3:
                            Console.WriteLine("电脑出拳:锤");
                            break;
                    }
                }
                if (a >= 1 && a <= 3)
                {
                    if ((a - n) == -1 || (a - n) == 2)
                    {
                        fenshu++;
                        Console.WriteLine("您赢了!请按回车继续!");
                    }
                    else if ((a - n) == -2 || (a - n) == 1)
                    {
                        fenshu--;
                        Console.WriteLine("您输了!请按回车继续!");
                    }
                    else
                    {
                        Console.WriteLine("平局!请按回车继续!");
                    }
                    Console.ReadLine();
                }
                else
                {
                    if (a == 4)
                    {
                        break;
                    }
                    Console.WriteLine("输入有误,请按回车继续!");
                    Console.ReadLine();
                }
            }
        }

out传值(传址):

传值,只将这个变量的值给拿走,不返还,除非return赋值。
将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的a

传址,将这个变量的值拿走运算,完成后还是得返还回来(不用return,用out)
将a的值传入函数,函数中这个值如何变化,main中的a也会跟着变化
相当于:函数中的这个值,是main种这个a的快捷方式

重新做了一下方程求根的题:

  public void Fangcheng(double a, double b, double c, out double x1, out double x2)
        {
            double de = b * b - 4 * a * c;
            if (de > 0)
            {
                Console.WriteLine("此方程有两个不相同的实数根!");
                x1 = (-b + Math.Sqrt(de)) / (a * 2);
                x2 = (-b - Math.Sqrt(de)) / (a * 2);
            }
            else//de==0
            {
                Console.WriteLine("此方程有两个相同的实数根!");
                x1 = (-b + Math.Sqrt(de)) / (a * 2);
                x2 = x1;
            }
        }

        static void Main(string[] args)
        {
            double x1;
            double x2;
            Console.WriteLine("求解一元二次方程ax^2+bx+c=0的根的情况及结果:");
            Console.Write("请输入a=");
            double a = double.Parse(Console.ReadLine());
            if (a == 0)
            {
                Console.WriteLine("此方程不是一元二次方程!");
            }
            else
            {
                Console.Write("请输入b=");
                double b = double.Parse(Console.ReadLine());
                Console.Write("请输入c=");
                double c = double.Parse(Console.ReadLine());

                double de = b * b - 4 * a * c;
                if (de < 0)
                {
                    Console.WriteLine("此方程没有实数根!");
                }
                else//de>=0
                {
                    Program pp = new Program();
                    pp.Fangcheng(a, b, c, out x1, out x2);

                    if (x1 == x2)
                    {
                        Console.WriteLine("x1=x2=" + x1);
                    }
                    else
                    {
                        Console.WriteLine("x1=" + x1);
                        Console.WriteLine("x2=" + x2);
                    }
                }
            }

            Console.ReadLine();
原文地址:https://www.cnblogs.com/ds-3579/p/5287753.html