English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lezioni di base del linguaggio C

Controllo di flusso del linguaggio C

C语言函数

C语言数组

C语言指针

C语言字符串

Struttura del linguaggio C

File del linguaggio C

Altro C

Manuale di riferimento del linguaggio C

Programma C che utilizza la ricorsione per calcolare il fattoriale di un numero

C语言编程实例大全

In questo esempio, imparerai a trovare il fattoriale di un numero non negativo inserito dall'utente utilizzando la ricorsione.

Per comprendere questo esempio, dovresti conoscere i seguentiProgrammazione in CArgomento:

Il fattoriale di un numero positivo n è dato dalla seguente formula:

fattoriale di n (n!) = 1 * 2 * 3 * 4 * ... * n

Il fattoriale dei numeri negativi non esiste. Il fattoriale di 0 è 1.

In questo esempio, imparerai a trovare il fattoriale di un numero utilizzando la ricorsione. Visita questa pagina per sapere comeCalcolo del fattoriale iterativo.

Calcolo del fattoriale ricorsivo

#include<stdio.h>
long int multiplyNumbers(int n);
int main() {
    int n;
    printf("Inserisci un numero intero positivo: ");
    scanf("%d",&n);
    printf("%d il fattoriale = %ld", n, multiplyNumbers(n));
    return 0;
}
long int multiplyNumbers(int n) {
    if (n>=1)
        return n*multiplyNumbers(n-1);
    else
        return 1;
}

Risultato di output

Inserisci un numero intero positivo: 6
Il fattoriale di 6 = 720

Supponiamo che l'utente abbia inserito 6.

最初,从main()调用multipleNumbers(),并将6作为参数传递。

然后,将5从同一函数传递给multipleNumbers()(递归调用)。在每个递归调用中,参数n的值都减1。

当n的值小于1时,没有递归调用,并且阶乘最终返回给main()函数。

C语言编程实例大全