C 語(yǔ)言基礎(chǔ)教程

C 語(yǔ)言流程控制

C 語(yǔ)言函數(shù)

C 語(yǔ)言數(shù)組

C 語(yǔ)言指針

C 語(yǔ)言字符串

C 語(yǔ)言結(jié)構(gòu)體

C 語(yǔ)言文件

C 其他

C 語(yǔ)言參考手冊(cè)

C程序使用遞歸求數(shù)字的階乘

C 語(yǔ)言編程實(shí)例大全

在此示例中,您將學(xué)習(xí)查找用戶使用遞歸輸入的非負(fù)整數(shù)的階乘。

要理解此示例,您應(yīng)該了解以下C語(yǔ)言編程主題:

正數(shù)n的階乘由下式給出:

factorial of n (n!) = 1 * 2 * 3 * 4 *...  * n

負(fù)數(shù)的階乘不存在。 階乘0為1。

在本示例中,您將學(xué)習(xí)使用遞歸查找數(shù)字的階乘。訪問(wèn)此頁(yè)面以了解如何使用循環(huán)求數(shù)字階乘。

使用遞歸的階乘

#include<stdio.h>
long int multiplyNumbers(int n);
int main() {
    int n;
    printf("輸入一個(gè)正整數(shù): ");
    scanf("%d",&n);
    printf("%d 的階乘 = %ld", n, multiplyNumbers(n));
    return 0;
}

long int multiplyNumbers(int n) {
    if (n>=1)
        return n*multiplyNumbers(n-1);
    else
        return 1;
}

輸出結(jié)果

輸入一個(gè)正整數(shù): 6
6 的階乘 = 720

假設(shè)用戶輸入了6。

最初,從main()調(diào)用multipleNumbers(),并將6作為參數(shù)傳遞。

然后,將5從同一函數(shù)傳遞給multipleNumbers()(遞歸調(diào)用)。 在每個(gè)遞歸調(diào)用中,參數(shù)n的值都減1。

當(dāng)n的值小于1時(shí),沒(méi)有遞歸調(diào)用,并且階乘最終返回給main()函數(shù)。

C 語(yǔ)言編程實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清