15、C#基础整理(递归)
带输出参数的函数
输入参数相当于函数而言,相当于已经赋值了的变量,直接可用
输出参数相当于定义一个没有值的变量,在函数中进行赋值,然后调用函数的时候将赋值带出函数
例:
public void shuchu(int a, out int b)
{
b = a + ; //b必须赋值
}
主函数里面的写法:
static void Main(string[] args)
{
int a = ,b;
Program p = new Program();
p.shuchu(a,out b);//b需要先定义好,对应函数的数据类型,用于接收传递出来的数据
Console.WriteLine(b);//
}
练习:用输出参数写一元二次方程求解的方法(返回是否有解,和x1,x2的值)
public string fangcheng(int a, int b, int c, out double x1,out double x2)
{
double de =(double) b * b - * a * c;
if (a == )
{
x1 = x2 = -;
return "不是一元二次方程";
}
else if (de < )
{
x1 = x2 = -;
return "de<0,此方程无解";
}
else
{
x1 = (double)(-b + de) / * a;
x2 = (double)(-b - de) / * a;
return "有解";
}
}
答案
递归
一、概念:
函数体内调用本函数自身,直到符合某一条件不再继续调用。
**简单说就是让函数先执行到满足条件的那一步,然后带着数据开始调用函数本身。
二、应满足条件:
(1)有反复执行的过程(调用自身);
(2)有跳出反复执行过程的条件(函数出口)
三、例子
阶乘的计算n!= n*(n-1)*(n-2)*(n-3)*……*1(n>0)
四、注意事项notice:
1、递归中必须要存在一个循环结束的条件。
2、递归函数的每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。
练习:
1、n个桃,每过一天吃1/2+1个,7天后剩一个,原来有几个桃?
public int tao(int day)
{
if (day == )
{
return ;
}
int sum = (tao(day + )+)*;
return sum;
}
答案
2、一个人赶一群羊去卖,每过一个村子卖出1/3+1只,7个村子后还剩2只,原来有几只羊?
public double yang(int cun)
{
if (cun == )
{
return ;
}
double sum =(double)(yang(cun + ) + ) * ;
return sum;
}
答案
15、C#基础整理(递归)的更多相关文章
- 十四. Python基础(14)--递归
十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either ...
- 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法
这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- 算法基础_递归_求杨辉三角第m行第n个数字
问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...
- Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法
Hadoop基础-HDFS递归列出文件系统-FileStatus与listFiles两种方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. fs.listFiles方法,返回Loc ...
- nutch的一些基础整理
nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...
- python基础-函数递归
函数递归 概念:直接或间接地重复调用函数本身,是一种函数嵌套调用的表现形式. 直接调用:在函数内部,直接调用函数本身 def foo(): print("这是foo函数") foo ...
- [转帖]nginx基础整理
nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...
- 15、SQL基础整理(视图)
视图 即虚拟表 系统-右键-新建视图 编辑前200行 select *from studentscore 代码创建法: create view studentscore as select stude ...
随机推荐
- MVC之视图的布局
1. RenderBody 布局在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到标签里有这样一条语句 ...
- 弹出消息对话框ScriptManager
//直接调用WebMessageBox方法 #region 弹出消息对话框 /// <summary> /// 弹出消息对话框 /// </summary> /// <p ...
- 51nod 1021 石子归并(dp)
51nod 1021 石子归并 题解:从i到j合并的最小值:dp[i][j] = min(dp[i][j], dp[i][k] + dp[k+1][j] + sum[j] - sum[i-1]); 最 ...
- jquery.query.js 插件的用法
转载自:http://www.cnblogs.com/dachie/archive/2010/09/16/1827840.html 代码如下: var url = location.search; & ...
- 319. Bulb Switcher——本质:迭代观察,然后找规律
There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off every ...
- DOM系列---基础篇[转]
DOM (Document Object Model) 即文档对象模型, 针对 HTML 和 XML 文档的 API (应用程序接口) .DOM 描绘了一个层次化的节点树,运行开发人员添加.移除和修改 ...
- [原创]VM虚拟机安装centos6.4详细图文教程
1.启动虚拟机,新建虚拟机. 2.选择从镜像安装,选择centos6.4的路径. 3.设置用户名和密码.注:只能用小写字母. 4.选择安装路径. 5.配置磁盘大小. 6.准备创建. 如果需要自定义 ...
- @property和@synthesize的特性
基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@pr ...
- 在 Ubuntu 上配置高性能的 HHVM 环境
HHVM全称为 HipHop Virtual Machine,它是一个开源虚拟机,用来运行由 Hack(一种编程语言)和 PHP 开发应用.HHVM 在保证了 PHP 程序员最关注的高灵活性的要求下, ...
- Html11.09CSS层叠样式表内容整理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...