带输出参数的函数

输入参数相当于函数而言,相当于已经赋值了的变量,直接可用
输出参数相当于定义一个没有值的变量,在函数中进行赋值,然后调用函数的时候将赋值带出函数

例:

  1. public void shuchu(int a, out int b)
  2. {
  3. b = a + ; //b必须赋值
  4. }

主函数里面的写法:

  1. static void Main(string[] args)
  2. {
  3. int a = ,b;
  4. Program p = new Program();
  5. p.shuchu(a,out b);//b需要先定义好,对应函数的数据类型,用于接收传递出来的数据
  6. Console.WriteLine(b);//
  7. }

练习:用输出参数写一元二次方程求解的方法(返回是否有解,和x1,x2的值)

  1. public string fangcheng(int a, int b, int c, out double x1,out double x2)
  2. {
  3. double de =(double) b * b - * a * c;
  4. if (a == )
  5. {
  6. x1 = x2 = -;
  7. return "不是一元二次方程";
  8. }
  9. else if (de < )
  10. {
  11. x1 = x2 = -;
  12. return "de<0,此方程无解";
  13. }
  14. else
  15. {
  16. x1 = (double)(-b + de) / * a;
  17. x2 = (double)(-b - de) / * a;
  18. return "有解";
  19. }
  20. }

答案

递归

一、概念:

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

**简单说就是让函数先执行到满足条件的那一步,然后带着数据开始调用函数本身。

二、应满足条件:

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

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

三、例子

阶乘的计算n!= n*(n-1)*(n-2)*(n-3)*……*1(n>0)



四、注意事项notice:

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

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

练习:

1、n个桃,每过一天吃1/2+1个,7天后剩一个,原来有几个桃?

  1. public int tao(int day)
  2. {
  3. if (day == )
  4. {
  5. return ;
  6. }
  7. int sum = (tao(day + )+)*;
  8. return sum;
  9. }

答案

2、一个人赶一群羊去卖,每过一个村子卖出1/3+1只,7个村子后还剩2只,原来有几只羊?

  1. public double yang(int cun)
  2. {
  3. if (cun == )
  4. {
  5. return ;
  6. }
  7. double sum =(double)(yang(cun + ) + ) * ;
  8. return sum;
  9. }

答案

15、C#基础整理(递归)的更多相关文章

  1. 十四. Python基础(14)--递归

    十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either ...

  2. 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法

    这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...

  3. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  4. 算法基础_递归_求杨辉三角第m行第n个数字

    问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...

  5. Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法

    Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. fs.listFiles方法,返回Loc ...

  6. nutch的一些基础整理

    nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...

  7. python基础-函数递归

    函数递归 概念:直接或间接地重复调用函数本身,是一种函数嵌套调用的表现形式. 直接调用:在函数内部,直接调用函数本身 def foo(): print("这是foo函数") foo ...

  8. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  9. 15、SQL基础整理(视图)

    视图 即虚拟表 系统-右键-新建视图 编辑前200行 select *from studentscore 代码创建法: create view studentscore as select stude ...

随机推荐

  1. mybatis 简单配置

    一.com/book/map包下有两个配置文件: 1.MyBatisConfig.xml <?xml version="1.0" encoding="UTF-8&q ...

  2. 190. Reverse Bits -- 按位反转

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  3. 给文本标签UILabel添加长按复制功能

    http://www.111cn.net/sj/iOS/104236.htm http://blog.csdn.net/lrenjun/article/details/12582927 自定义一个可复 ...

  4. AppSettings和ConnectionStrings的区别

    AppSettings是ASP.NET1.1时期用的,在.NET Framework 2.0中,新增了ConnectionStrings. 1.<connectionStrings> &l ...

  5. long型转日期型

    //时分秒格式//不知为何,出来的时间有点差别 public class Test { public static void main(String[] args) throws Exception ...

  6. C# + winserver2008 openfiledialog 写入 textbox1 中的 路径不正确

    System.IO.Path.GetFullPath(openFileDialog1.FileName);//绝对路径 System.IO.Path.GetExtension(openFileDial ...

  7. Axis2 webservice入门--开发环境搭建,概念理解

    关于webservice的概念,网上有各种解释,但是不太好懂. 可以这样理解:1.一个webservice就是一个“功能”,只是这个功能是别人写好的,被放在别人的网站上.                ...

  8. 六种流行的语言---C、C++、python、Java、php、C#比较[转]

    语言大餐 回归正题,本文是六种语言连接mysql数据库的代码展示,在LZ尝试的过程中,无论是语言环境搭建.mysql依赖库的导入还是代码的风格,各种语言都各有千秋.接下来,我们就让这些语言一一登场吧. ...

  9. 使用SoundPool播放音效

    针对应用程序经常需要播放密集.短促的音效,因为MediaPlayer存在如下缺点: 1.资源占用量较高.延迟时间较长. 2.不支持多个音效同时播放. SoundPool使用音效池的概念来管理多个短促的 ...

  10. [Js]封装好的通过className来获取元素的函数

    <div id="box"> <div class="star"></div> <div class="st ...