zoukankan      html  css  js  c++  java
  • 【2017-03-02】C#函数,递归法

    函数

    函数的意义:独立完成某项功能的个体

    函数的优势:1.提高代码的重用性     2.提高功能开发的效率   3.提高程序代码的可维护性

    函数四要素:

    1,输入:(值的类型+名称)

    2,输出:return 后面输出的结果

    3,函数名: 函数的名称

    4,函数体:{}内的内容

    (函数体和函数名必须存在)

    定义:在Program类里面,Main函数外面

    public static 函数输出类型(int/String)  函数名 (输入的值的类型+值的名称)【后面可以加无数个,输入值的类型加+值的名称。只要需要,值的类型相同不同都没事】

            {return +返回的值;}              //函数体

    若无返回值,函数输出类型为Void

    函数的多种形态:
    1、有参数,有返回值     (最常用)
    2、无参数,无返回值
    3、有参数,无返回值
    4、无参数,有返回值

    函数返回多个值的办法:
    ref - 可出可进       ref调用外部变量

    out - 只出不进

     

    递归:
    递进去,归还回来的一个过程
    使用的方法:
    函数调用它本身

    函数一遇到return就会立即停止后面代码的执行,跳出函数,执行调用本身后面归还的代码。

     

    练习题

    public static string 猜拳(int a, int b)
            {
                string c = "输入有误!";
                string s = "";
                string t = "";
                if (a >= 0 && a <= 2 && b >= 0 && b <= 2)
                {
                    if (a == 0)
                         
                    {
                        s = "石头";
                    }
                    else if (a == 1)
                    {
                        s = "剪刀";
                    }
                    else if (a == 2)
                    {
                        s = "包袱";
                    }
                    if (b == 0)
                    {
                        t = "石头";
                    }
                    else if (b == 1)
                    {
                        t = "剪刀";
                    }
                    else if (b == 2)
                    {
                        t = "包袱";
                    }
    
                    if (a == b - 1 || a == b + 2)
                    {
                        c = ("选手1的手势是" + s + ",选手2的手势是" + t + ",选手1获胜!");
                    }
                    else if (a == b + 1 || a == b - 2)
                    {
                        c = ("选手1的手势是" + s + ",选手2的手势是" + t + ",选手2获胜!");
                    }
                    else if (a == b)
                    {
                        c = ("选手1的手势是" + s + ",选手2的手势是" + t + ",平局!");
                    }
                }
                return c;
            }
            static void Main(string[] args)
            {
                Console.Write("请输入一个手势(0/1/2):");
                int a = Convert.ToInt32(Console.ReadLine());
                Console.Write("请输入另一个手势(0/1/2):");
                int b = Convert.ToInt32(Console.ReadLine());
                string c = Program.猜拳(a,b);
                Console.WriteLine(c);
    
                Console.ReadLine();
            }



  • 相关阅读:
    [安卓]AndroidManifest.xml文件简介及结构
    [网络技术][转]PPTP协议解析
    ubuntu 12.04 (64位)下安装oracle 11g过程及问题总结
    deb包制作(转)
    短信部分之PDU简介及其格式(转)
    Siemens3508手机AT指令发送短信的实验
    GDB中应该知道的几个调试方法【转陈浩】
    JLink间接烧写【转自armobbs】
    [转]Java事件处理机制- 事件监听器的四种实现方式
    asp.net验证码
  • 原文地址:https://www.cnblogs.com/snow22546/p/6506606.html
Copyright © 2011-2022 走看看