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

首頁 > 編程 > C# > 正文

使用遞歸實現數組求和示例分享

2020-01-24 02:45:47
字體:
來源:轉載
供稿:網友

思路如下:

給定一個含有n個元素的整型數組a,求a中所有元素的和。問題的難點在于如何使用遞歸上。如果使用遞歸,則需要考慮如何進行遞歸執行的開始以及終止條件,首先如果數組元素個數為0,那么和為0。同時,如果數組元素個數為n,那么先求出前n-1個元素之和,再加上a[n-1]即可。此時可以完成遞歸功能。總之,遞歸就是在某個函數的執行過程中首先判斷它的終止條件參數,終止條件參數滿足終止條件則執行完畢,終止條件參數不滿足終止條件則調用它自身執行某項運算,比如這里求和就是執行加法。凡是遞歸一定都有一個參數作為終止條件,比如這里是數組中未加入求和隊列的元素個數,初始為數組長度。因為終止條件參數的初始值為數組長度,所以從數組的最后一個元素作為求和隊列的第一個元素開始,每遞歸一次就將數組中的一個元素劃歸到求和隊列中,同時將終止條件參數減1,直到其未為0,標明所有元素都已加入求和隊列,返回求和隊列的值即可。可見遞歸至少有兩個參數,終止條件參數以及遞歸對象。

代碼如下:

復制代碼 代碼如下:

// 1311.cpp : 定義控制臺應用程序的入口點。
#include "stdafx.h"
#include<stdio.h>
int GetSum(int *a,int n)
{
    return n == 0 ? 0 : GetSum(a,n - 1) + a[n-1];
}
int main()
{
    int a[] = { 3, 6, 8, 2, 1 };
    int length = sizeof(a) / sizeof(a[0]);
    printf("%d/n", GetSum(a, length));
    getchar();
    return 0;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 买车| 贵定县| 龙胜| 内黄县| 茂名市| 德江县| 秦安县| 丹棱县| 隆子县| 句容市| 沈丘县| 铜梁县| 合川市| 钦州市| 龙井市| 常宁市| 兴化市| 庆云县| 油尖旺区| 太原市| 梁河县| 大化| 鹿邑县| 大方县| 微山县| 新巴尔虎右旗| 新绛县| 永济市| 东乡| 尖扎县| 红安县| 铁岭县| 昌平区| 蓬溪县| 西青区| 岳阳县| 湖口县| 庆云县| 福鼎市| 吉隆县| 林口县|