枚举类型(不常用)递归

今天的学习课程阶数了c#语言的基础部分。最后一天的课程主要讲了不常用的枚举类型,还有,递归。

一。枚举类型

 //枚举类型定义
        //不定义之前,第一个索引是默认从0开始,。往后一次加一。
        //若之前定义的一个字段的索引指向了之后的某个默认字段。他俩完全相同

________________________________________________________________________________________________________________________________

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 枚举类型_递归
{
    class Program

    {

 enum meiju : int
        {
            one,
            two,
            three,
            four = three


        }

主函数内写

 //不取int的时候出来的是常量字段
            Console.WriteLine(meiju.one);
            //int时表示。出来这个字段代表的值
            Console.WriteLine((int)meiju.one);
            //若定义枚举类型时,下面有个字段等于之前的字段。那么就是等于之前的字段
            Console.WriteLine(meiju.four);
            //若等于之前的一个常量字段时候强制取int。那就等于之前的那个字段
            Console.WriteLine((int)meiju.four);
            //第一个常量若从1开始,之后的常量的索引值会自动加1

_________________________________________________________________________________________________________________________________-

二。递归

递归类似于循环都是一些比较有规律的问题

下面。我们来看一道比较典型的例题

例一

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace
{
    class Program

    {

public int Jie(int a)
        {
           int s;
            if (a == 1)
           {
                return a;
           }
           return
           s = a * Jie(a - 1);

        }

主函数内写

Program hs=new Program();
         int b=hs.Jie(5);//表示从1 乘到5
         Console.WriteLine(b);

________________________________________________________________________________________________________________________________

例二

猴子吃桃子每天吃掉昨天的三分之二还多一个。求刚开始猴子有多少桃子(//后面是for循环做的相同题目对比)

                                                                                   

                                                                                                       //int s = 2;
                                                                                                          //for (int i = 1; i < 9; i++)
                                                                                                          //{

                                                                                                         //    s = (s + 1) * 3;
                                                                                                          //}
                                                                                                        //Console.WriteLine(s);

________________________________________________________________________________________________________________________________

using System; 
using System.Collections.Generic;                                                             
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace
{
    class Program

    {

public double tao(int a)
        {
           double s;
            if (a == 9)
           {
                return 2;
            }
            return
                s =  (tao(a+1)+1)*3;
        }

主函数内写

Program hs = new Program();
   double b = hs.tao(1);//表示求到第一天
   Console.WriteLine(b);

________________________________________________________________________________________________________________________________

 

posted @ 2016-10-20 16:54  吴皓杰  阅读(324)  评论(0编辑  收藏  举报