国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

15、C#基礎整理(遞歸)

2019-11-17 02:40:42
字體:
來源:轉載
供稿:網友

15、C#基礎整理(遞歸)

帶輸出參數的函數

輸入參數相當于函數而言,相當于已經賦值了的變量,直接可用輸出參數相當于定義一個沒有值的變量,在函數中進行賦值,然后調用函數的時候將賦值帶出函數

例:

public void shuchu(int a, out int b){   b = a + 10; //b必須賦值}

主函數里面的寫法:

static void Main(string[] args){int a = 11,b;PRogram p = new Program();p.shuchu(a,out b);//b需要先定義好,對應函數的數據類型,用于接收傳遞出來的數據Console.WriteLine(b);//21}

練習:用輸出參數寫一元二次方程求解的方法(返回是否有解,和x1,x2的值)

public string fangcheng(int a, int b, int c, out double x1,out double x2)        {            double de =(double) b * b - 4 * a * c;            if (a == 0)            {                x1 = x2 = -1;                return "不是一元二次方程";            }            else if (de < 0)            {                x1 = x2 = -1;                return "de<0,此方程無解";            }            else            {                x1 = (double)(-b + de) / 2 * a;                x2 = (double)(-b - de) / 2 * a;                return "有解";            }        }
答案

遞歸

一、概念:

函數體內調用本函數自身,直到符合某一條件不再繼續調用。

**簡單說就是讓函數先執行到滿足條件的那一步,然后帶著數據開始調用函數本身。

二、應滿足條件:

(1)有反復執行的過程(調用自身);

(2)有跳出反復執行過程的條件(函數出口)

三、例子

階乘的計算n!= n*(n-1)*(n-2)*(n-3)*&hellip;…*1(n>0)



四、注意事項notice:

1、遞歸中必須要存在一個循環結束的條件。

2、遞歸函數的每次調用都需要棧來存儲,如果次數太多的話容易造成棧溢出。

練習:

1、n個桃,每過一天吃1/2+1個,7天后剩一個,原來有幾個桃?

public int tao(int day)        {            if (day == 7)            {                return 1;            }            int sum = (tao(day + 1)+1)*2;            return sum;        }
答案

2、一個人趕一群羊去賣,每過一個村子賣出1/3+1只,7個村子后還剩2只,原來有幾只羊?

public double yang(int cun)        {            if (cun == 7)            {                return 2;            }            double sum =(double)(yang(cun + 1) + 1) * 3;            return sum;        }
答案


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高碑店市| 东明县| 措美县| 禄丰县| 正镶白旗| 乌拉特中旗| 汽车| 庆安县| 高邑县| 滨州市| 阳泉市| 天镇县| 霍城县| 银川市| 濉溪县| 昌都县| 东宁县| 崇左市| 江陵县| 布尔津县| 连州市| 方城县| 高清| 灵宝市| 华阴市| 麻城市| 桑日县| 凉城县| 余干县| 贡嘎县| 灵台县| 垦利县| 博乐市| 永年县| 吴堡县| 射洪县| 横峰县| 普格县| 城市| 招远市| 黎川县|