文档章节

函数 传址

badboy之1993
 badboy之1993
发布于 2016/05/12 14:08
字数 655
阅读 3
收藏 0

函数  传址

 

 

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

© 著作权归作者所有

上一篇: MySQL函数
下一篇: MySQL增删改查
badboy之1993
粉丝 0
博文 42
码字总数 32545
作品 0
淄博
私信 提问
JS高级--面向对象

一、对象定义的三种方式 一、对象 // 1、三种定义方式 // 2、对象的构成 // 3、定义对象 直接定义、追加定义 // 4、对象和json之间的转换 二、原型链:对象或构造函数由本身和原型构成,对象...

曹国莉
2017/12/23
0
0
C sharp out关键字

https://yutuo.net/archives/5e98cb8b74d6363b.html 在C#中,我经常用到和这两个关键字,但对其区别也还不是很清楚。 基本上来说,C#函数参数的传递方法为分两种,一种转值,另一种是传址。对...

塔塔米
2016/08/22
11
0
python 2017年12月七学习笔记

精简版: 传值:被调函数局部变量改变不会影响主调函数局部变量 传址:被调函数局部变量改变会影响主调函数局部变量 Python参数传递方式:传递对象引用(传值和传址的混合方式),如果是数字...

知止内明
2017/12/07
0
0
PHP传参之传值与传址的区别是什么【&$val】

function test(&val){ return $val; } 其中为什么用到&进行传参呢,有什么好处? 传址是允许在函数内部进行改变的意思,比如: $test = "hello"; function myFun(&$val){ $val = "hello worl......

瑺柈茬妳滴裑笾
2015/04/13
394
2
传值和传址

参数在函数中传递时,什么时候传值,又什么时候传址呢? 我们来看两个例子: 定义i值为1,经过add后,控制台打印的值仍为1。 定义obj对象的name为“张三”,经过fn后,控制台打印的值为“李四...

Nicksonlvqq
2017/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

c 基础教程六:c 循环结构

有的时候,我们可能需要多次执行同一块代码,c 语言提供了如下几种循环,各有特色。 while 循环 for 循环 do-while 循环 while 循环 只要给定的条件为真,C 语言中的 while 循环语句会重复执...

故城以南丶思念不安
29分钟前
4
0
spark 常见操作

为spark DataFrom 添加一个为 空的新列,使用UDF函数 想产生一个IntegerType类型列为null的DataFrame该怎么做。 import org.apache.spark.sql.functions._import org.apache.spark.sql.type...

蜉先生
40分钟前
2
0
Flutter for Web 详细预研

首先感谢@栖冰 @祖建国 一起对FFW的预研做的投入! 背景 Google在最新的Google I/O上推出了Flutter for Web,旨在进一步解决一次代码,多端运行的问题。Flutter for Web还处于早期试验版,官...

阿里云云栖社区
50分钟前
1
0
mongodb自动备份脚本

mongodb自动备份脚本 2019年04月08日 13:27:28 遗失的曾经! 阅读数 73 #!/bin/bash# 要备份的数据库名'多个数据库用空格分开# 备份文件要保存的目录basepath="/data/backup/dump$(da...

linjin200
51分钟前
2
0
如何使用pagehelper分页

<c:if test="${page != null && page.getTotal() > 0 }"> <nav style="text-align: center"><ul class="pagination pagination-lg"><li><a>共 ${page.total } 条记录</a></l......

南桥北木
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部