【2017-03-02】C#函数,递归法
函数
函数的意义:独立完成某项功能的个体
函数的优势:1.提高代码的重用性 2.提高功能开发的效率 3.提高程序代码的可维护性
函数四要素:
1,输入:(值的类型+名称)
2,输出:return 后面输出的结果
3,函数名: 函数的名称
4,函数体:{}内的内容
(函数体和函数名必须存在)
定义:在Program类里面,Main函数外面
public static 函数输出类型(int/String) 函数名 (输入的值的类型+值的名称)【后面可以加无数个,输入值的类型加+值的名称。只要需要,值的类型相同不同都没事】
{return +返回的值;} //函数体
若无返回值,函数输出类型为Void
函数的多种形态:
1、有参数,有返回值 (最常用)
2、无参数,无返回值
3、有参数,无返回值
4、无参数,有返回值
函数返回多个值的办法:
ref - 可出可进 ref调用外部变量

out - 只出不进

递归:
递进去,归还回来的一个过程
使用的方法:
函数调用它本身
函数一遇到return就会立即停止后面代码的执行,跳出函数,执行调用本身后面归还的代码。

练习题
public static string 猜拳(int a, int b)
{
string c = "输入有误!";
string s = "";
string t = "";
if (a >= && a <= && b >= && b <= )
{
if (a == ) {
s = "石头";
}
else if (a == )
{
s = "剪刀";
}
else if (a == )
{
s = "包袱";
}
if (b == )
{
t = "石头";
}
else if (b == )
{
t = "剪刀";
}
else if (b == )
{
t = "包袱";
} if (a == b - || a == b + )
{
c = ("选手1的手势是" + s + ",选手2的手势是" + t + ",选手1获胜!");
}
else if (a == b + || a == b - )
{
c = ("选手1的手势是" + s + ",选手2的手势是" + t + ",选手2获胜!");
}
else if (a == b)
{
c = ("选手1的手势是" + s + ",选手2的手势是" + t + ",平局!");
}
}
return c;
}
static void Main(string[] args)
{
Console.Write("请输入一个手势(0/1/2):");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入另一个手势(0/1/2):");
int b = Convert.ToInt32(Console.ReadLine());
string c = Program.猜拳(a,b);
Console.WriteLine(c); Console.ReadLine();
}
【2017-03-02】C#函数,递归法的更多相关文章
- C语言之函数调用11—递归法求Hermite函数
/*递归法! ========================================== 题目: Hermite 函数:输入n.x,求Hn(x)? H0(x)=1; H1(x)=2*x; H ...
- C语言之函数调用17—递归法之中的一个般函数的调用(2)
//递归法 /* ================================================================== 题目:求F(60),当中F(n)定义例如以下: ...
- 归并排序,递归法,C语言实现。
利用归并排序法对序列排序的示意图(递归法): 一.算法分析:利用递归的分治方法:1.将原序列细分,直到成为单个元素:2.在将分割后的序列一层一层地按顺序合并,完成排序.细分通过不断深入递归完成,合并通 ...
- 八皇后问题详细分析与解答(递归法解答,c#语言描述)
八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题.该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或 ...
- Learning-Python【14】:匿名函数与函数递归
一.什么是匿名函数 匿名函数就是没有名字的函数,又叫lambda表达式.用于一些简单的需要用函数去解决的问题,特点是只能在定义时使用一次,且函数体只有一行 匿名函数的定义就相当于只产生一个变量的值,而 ...
- 用递归法将一个整数n转换成字符串。
用递归法将一个整数n转换成字符串. 比如,输入483,应输出字符串"483".n的位数不确定,能够是随意位数的整数. #include "stdafx.h" # ...
- python基础-基础知识(包括:函数递归等知识)
老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, ", [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有 ...
- (python函数03)zip()函数
(python函数03)zip()函数 zip是用来压缩的,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个元组(tuple),然后返回有这些tuples组成的对象,可强制转化为列表和 ...
- 算法笔记_013:汉诺塔问题(Java递归法和非递归法)
目录 1 问题描述 2 解决方案 2.1 递归法 2.2 非递归法 1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus ...
- c语言函数, 函数调用及函数递归
1. 函数的定义: 返回值类型 函数名(形参列表) {函数体(函数的实现内容)}, 注意: 如果没有参数, 小括号也是必不可少的. 函数与函数之间可以嵌套调用(也就是在一个函数内部可以调用另外一个函 ...
随机推荐
- spring.schemas和spring.handlers对xmlns配置文件作用
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的 时候,会显得非常笨拙.一般的做法会用原生态的方式去解析定义好 ...
- 那些年读过的书《Java并发编程实战》和《Java并发编程的艺术》三、任务执行框架—Executor框架小结
<Java并发编程实战>和<Java并发编程的艺术> Executor框架小结 1.在线程中如何执行任务 (1)任务执行目标: 在正常负载情况下,服务器应用 ...
- Matlab中添加路径与去除路径
今天在使用Matlab调用内部的PCA函数的时候,报错: 错误使用 pca输入参数太多. 如下图所示: 网上查找原因之后发现是因为我之前下载过开源的工具包toolbox,并且将它的路径add到了Mat ...
- SQL存储过程分页
CREATE PROC ZDY_FY(@Pages INT, @pageRow INT) --@Pages第几页 @pageRow每页显示几行 AS BEGIN DECLARE @starNum IN ...
- JavaScript基础学习2
/* 1.把函数作为参数.匿名函数作为参数传递到函数 */ function dogEat(food) { console.log("dog eat " + food); } fu ...
- vue/cli 3.0 font-size随屏幕大小变化而变化 rem设置
在安装cube-ui框架时 安装成功后在[E:\WWW\xxx\node_modules\vue-cli-plugin-cube-ui\generator\rem\index.js]修改remUnit ...
- mysql的查询
1.单表查询 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 ...
- [js]arguments属性
类数组 具有length属性的对象称为类数组 观察他的顺序 为什么能转换 for(let i=0;i<arr.length;i++){ console.log(arr[i]); } https: ...
- [django]主次表如何取出对方数据[主表obj.子表__set()]
[sql]mysql管理手头手册,多对多sql逻辑 国家--城市例子 class Country(models.Model): name = models.CharField(max_length=3 ...
- 自动出借-python+selenium
自动出借 import time from selenium import webdriver # import os #B username = " # 请替换成你的用户名 passwor ...