zoukankan      html  css  js  c++  java
  • 函数 传址

    函数  传址

     

     

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

    class Program

        {

    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;

                }

            }

    }

    static void Main(string[] args)

            {

                Program s = new Program();

                double c = s.bijiao2();

                Console.WriteLine("最大数:" + c);

                 Console.ReadLine();

            }

     

     

     

     

    2.猜拳游戏,剪刀石头布。

    class Program

        {

            /// <summary>

            ///

            /// </summary>

            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("您赢了!请按回车继续!");

                            Console.WriteLine("分数=" + fenshu);

                        }

                        else if ((a - n) == -2 || (a - n) == 1)

                        {

                            fenshu--;

                            Console.WriteLine("您输了!请按回车继续!");

                            Console.WriteLine("分数=" + fenshu);

                        }

                        else

                        {

                            Console.WriteLine("平局!请按回车继续!");

                        }

                       

                        Console.ReadLine();

                    }

                    else

                    {

                        if (a == 4)

                        {

                            break;

                        }

                        Console.WriteLine("输入有误,请按回车继续!");

                        Console.ReadLine();

                    }

                }

            }

    }

    static void Main(string[] args)

            {

        Program cc = new Program();

          cc.Caiquan();

          Console.ReadLine();

        }

     

     

    传址:

            //传值,只将这个变量的值给拿走,不返还,除非return赋值。

            //将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的a

           

            //传址,将这个变量的值拿走运算,完成后还是得返还回来(不用return,用out)

            //将a的值传入函数,函数中这个值如何变化,main中的a也会跟着变化

            //相当于:函数中的这个值,是main种这个a的快捷方式

     

     

    public void Jia(out int a , out int sum)

            {

                a = 3;

                sum = 5;

                sum = sum + a;

                a += sum;

            }

    static void Main(string[] args)

           

           {

                int q;

                int qq;

                Program pp = new Program();

                pp.Jia(out q, out qq);

                Console.WriteLine("sum=" + qq);

                Console.WriteLine("a=" + q);

                Console.ReadLine();

           }

    1、将求解一元二次方程改写成函数

        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();

  • 相关阅读:
    静态与动态数据分析的测试方法
    网址无法访问,显示服务器拒绝了请求
    stf浏览器端删除离线设备
    STF日志提示 Not found ; no service started
    通过adb命令获取apk的安装路径
    js页面打开方式
    windows和mac回退及撤销快捷键
    单元测试规范
    Git :fatal: refusing to merge unrelated histories解决
    mysql详解4:分组
  • 原文地址:https://www.cnblogs.com/zst062102/p/5281192.html
Copyright © 2011-2022 走看看