【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. 函数的定义: 返回值类型 函数名(形参列表) {函数体(函数的实现内容)}, 注意: 如果没有参数, 小括号也是必不可少的. 函数与函数之间可以嵌套调用(也就是在一个函数内部可以调用另外一个函 ...
随机推荐
- linux新增动态库后可执行程序找不到的问题
linux为了加快程式执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,所以是直接读取库列表文档 /etc/ld.so.cache 从中进行搜索./etc/ld.so.cache 是个非文 ...
- icon工具类
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys ...
- 如何使用CryptoJS配合Java进行AES加密和解密
注意 1. PKCS5Padding和PKCS7Padding是一样的 2. 加密时使用的key和iv要转换成base64格式 一.前端 1.函数 function encrypt (msg, key ...
- 【JMeter】【微信好文收藏】Jmeter接口测试实战-有趣的cookie
场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...
- QUIC:基于udp的传输新技术
Google研发 https://blog.csdn.net/b2222505/article/details/79391430
- win10安装pycharm及汉化包
PyCharm 是一款功能强大的 Python 编辑器,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,那么如何安装pycharm呢?都是英文看不懂有没有汉化版呢?跟ytkah一起 ...
- 005-优化web请求一-gzip压缩、http缓存控制和缓存校验[Pragma、Expires、Cache-Control、max-age、Last-Modified、用户刷新访问、避免过度304]
优化Web应用的典型技术:缓存控制头信息.Gzip.应用缓存.ETag.反应型技术[异步方法调用和WebSocket] 一.模板缓存 spring.thymeleaf.cache=true sprin ...
- oracle添加字段,备注
1.添加字段: alter table 表名 add (字段 字段类型) [ default '输入默认值'] [null/not null] ; 2.添加备注: comment on ...
- 利用 SPL 快速实现 Observer 设计模式
目录: 1.什么是 SPL 2.SplSubject 和 SplObserver 接口 3.为什么使用 SplObjectStorage 类 4.模拟案例 5.结束语 6.下载资源 什么是 SPL S ...
- 远程访问对象java实现
服务端: 定义远程接口: package com.my.rmi; import java.rmi.Remote; import java.rmi.RemoteException; public int ...