博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
枚举 递归
阅读量:6002 次
发布时间:2019-06-20

本文共 2660 字,大约阅读时间需要 8 分钟。

枚举:

 

//一组常量的组合

//在不指定任何索引的情况下,默认第一个字段从0开始,之后依次+1
//在指定索引的情况下,之后字段索引依次+1
//若之前定义的一个字段的索引指向了之后的某个默认字段,那么他俩完全相同
//若定义枚举类型时,下面有个字段等于以前的的一个字段,那么就等于之前的那个字段
//若等于之前的一个字段的时候强制取int,那么就等于之前那个字段的值

class Program    {        /                //定义        enum meiju:int         {            //one,            one=3,            two=1,            //two=2,            three,            four=three        }        static void a(string[] args)        {            //在不取int类型的时候,打印出来的是常量字段            Console.WriteLine(meiju.one);            //在取int类型的时候,出来的是这个字段代表的值            Console.WriteLine((int)meiju.one);            //若定义枚举类型时,下面有个字段等于以前的的一个字段,那么就等于之前的那个字段            Console.WriteLine(meiju.four);            //若等于之前的一个字段的时候强制取int,那么就等于之前那个字段的值            Console.WriteLine((int)meiju.four);            //不管第一个常量指定索引从几开始,那么之后的所有常量的代表值会自动加1            Console.WriteLine(meiju.two);            Console.WriteLine((int)meiju.two);            Console.WriteLine((int)meiju.three);            Console.ReadLine();        }

  

 

递归:

定义:函数体内调用函数本身,直到符合某一条件不再继续调用。

满足条件:

1.有反复执行的过程(调用自身)

2.又跳出反复执行过程的条件(函数出口)

注意事项:

1.递归中必须要存在一个循环结束的条件

2.递归函数每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。

 

class Class1    {        //n的阶乘        public int Jie(int n)        {            int sum;            if(n==1)            {                return 1;            }            sum = n * Jie(n-1);            //sum=5*(4*Jie(3));            //sum=5*(4*(3*Jie(2)));            //sum=5*(4*(3*(2*Jie(1))));            //sum=5*(4*(3*(2*1)));            return sum;        }static void Main(string[] args)        {            Class1 jc = new Class1();            Console.Write("请输入一个正整数:");            int sum = jc.Jie(int.Parse(Console.ReadLine()));            Console.WriteLine("sum="+sum);          }

 

  //老汉卖羊

class Class1    {      public int yang(int n)        {            int sum;            if (n == 7)            {                return 2;            }            sum = 2 * (yang(n + 1) + 1);            return sum;        }    static void Main(string[] args)        {            Class1 maiy = new Class1();            int n = maiy.yang(1);            Console.WriteLine("最初" + n + "只羊");         }    }

 

 

//猴子摘了好多好多桃子,一天要吃掉总数的2/3,觉得不过瘾,还要多吃1个,

//吃到第九天时,发现只有两个桃子,问最初有多少桃子?

class Class1    {     public int taozi(int n)        {            int sum;            if(n==9)            {                return 2;            }            sum = 3* (taozi(n + 1)+1);            return sum;        }    static void Main(string[] args)        {           Class1 hs = new Class1();            int a = hs.taozi(1);            Console.WriteLine("最初"+a+"个桃子");         }    }

  

 

 

转载于:https://www.cnblogs.com/maxin991025-/p/5981304.html

你可能感兴趣的文章
winpcap 发送数据包
查看>>
linux上架设l2tp+ipsec ***服务器
查看>>
可能是最简单的面向对象入门教程(二)为什么要有类型
查看>>
js常用的函数库
查看>>
Sqlserver 数据库安全
查看>>
netstat命令简单使用
查看>>
Python标示符命名规则
查看>>
SSL certificate problem unable to get local issuer certificate解决办法
查看>>
node.js中使用http模块创建服务器和客户端
查看>>
11.表达式语言
查看>>
3.数据校验和SpringEL
查看>>
面向对象编程-何为对象
查看>>
android以json形式提交信息到服务器
查看>>
最短最优升级路径(完美世界2017秋招真题)
查看>>
【PHP基础】错误处理、异常处理
查看>>
Android之drawable state各个属性详解
查看>>
android开发(22)使用正则表达式 。从一个字符串中找出数字,多次匹配。
查看>>
AJAX
查看>>
2015 多校联赛 ——HDU5334(构造)
查看>>
mysql字符集
查看>>