VR引擎开发0107

72 阅读1分钟

九、函数

main函数

image.png

static 修饰符,静态函数

void 表示返回值的类型,如果返回值为空,就是void类型,也可以是bool,int,string,等等

Main函数名(方法名)

Main(形参)

函数传参

        static int Max(int num1,int num2=2)//参数可以赋初始值 赋初始值的参数要放到后面
        {
            return num1 > num2 ? num1 : num2;
        }
        static int Max2(params int[] intArray)// params ,可以直接输入数组
        {
            return intArray.Length;
            Console.WriteLine(1);//已经return了,无法执行
        }

判断素数函数

        static bool ifSuSu(int num1) //判断素数函数
        {
            for (int i = 2; i < num1; i++)
            {
                if (num1 % i == 0) return false;
            }
            return true;
        }

函数的重载,overload,同名函数

        static double Max(params double[] doubleArray)
        {
            Console.WriteLine("这里是二");
            return doubleArray.Length;
        }

定义一个函数getDivisor,用来取得一个数的所有因子

       static int getDivisor(int num)
        {
            if (num == 1) return 2;
            return getDivisor(num - 1)+1; //递归调用
        }

创建一个将数翻转的函数

字符串-》数组 翻转-》字符串-》数

        static int getReverse(string strNum)
        {
            string strNum2 = "";
            for (int i = strNum.Length; i >0; i--)
            {
                strNum2 += strNum[i];
            }
            return Convert.ToInt32(strNum2);
        }

斐波那契数列 f(n)=f(n-1)+f(n-2)

       static int feibo(int num)
        {
            if(num == 1||num==2) return 1;
            return feibo(num-1)+feibo(num-2);
        }

f(k)=f(k-1)+k*k

        static int bugh(int num)
        {
            if(num==1) return 1;
            return bugh(num - 1) + num * num;
        }

测试代码


            for (int i = 1; ; i++)
            {
                bugh(i);
                if (bugh(i)>2000)
                {
                    Console.WriteLine(i-1);
                    break;
                }
            }