10.9

95 阅读1分钟

using System.Reflection.Metadata.Ecma335;

namespace demo_10._10 { internal class Program {

    static void Main(string[] args)
    {
        /* int num2 = 2;
         //函数 返回多个值 同个类型返回数组 不同类型多个值。 out参数 在形参后面加上out
         static bool isPrime(int num,out int num1)
         {
             num1 = 1;//定义out参数后面的变量 在函数内必须要赋值。
             return true;    
         }
         isPrime(10,out,num2,12);//将num1的值赋给num2=num1。
         Console.WriteLine(num2);*/


        /*  Console.WriteLine("请输入用户名");
          string name=Console.ReadLine();
          Console.WriteLine("请输入密码");
          string pwd=Console.ReadLine();
          string msg="1";

          static bool isLogin(string name,string pwd,out string msg2)
          {
              if (name == "admin" && pwd == "1234")
              {
                  msg2 = "登陆成功";
                  return true;
              }
              else if (name == "admin" &&pwd != "1234")
              {
                  msg2 = "密码错误";

              }else if (name!="admin" && pwd == "1234")
              {
                  msg2 = "用户名错误";
              }
              else
              {
                  msg2 = "用户名密码错误";
              }
              return false;

          }
          isLogin(name, pwd, out msg);
          Console.WriteLine(msg);
          //ref 同样还是将函数中变量的值带出来  不一样的是 在函数中可以不用赋值。外部接收的变量需要赋初始值。*/


        /*//青蛙跳台阶
        //f(n)=f(n-1)+f(n-2)
        Console.WriteLine("请输入台阶数");
        int n =Convert .ToInt32(Console.ReadLine());
        static int frog(int n)
        {
            if (n == 1) return 1;
            if (n == 2) return 2;
            return frog(n-1)+frog(n-2);
        }
        Console.WriteLine(frog(n));*/


        //移盘子
        Console.WriteLine("请输入盘子数:");
        int n = Convert.ToInt32(Console.ReadLine());
        static void hanoi(int n, string start, string middle, string end)
        {
            if (n == 1)
            {
                Console.WriteLine("从{0}经过{1}移到{1}", start, middle, end);
            }
            hanoi(n - 1, start, end, middle);//将n-1一个盘子移到中间的柱子上
            hanoi(1, start, middle, end);

            //剩下n-1个盘子
            hanoi(n - 1, middle, start, end);
        }
        hanoi(n, "A", "B", "C");






        //常量  const关键字
        const int num = 1;
        //枚举类型




        }
    }
}