Summe der ersten N Zahlen mit Rekursion

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie man die Rekursion verwendet, um die Summe der ersten N Zahlen zu berechnen. Wir werden die Programmiersprache C verwenden, um ein Programm zu schreiben, das eine Benutzereingabe entgegennimmt, die Summe der ersten N Zahlen berechnet und das Ergebnis an den Benutzer ausgibt. Rekursion ist eine Technik, die in der Programmierung verwendet wird, bei der eine Funktion sich selbst aufruft, um ein Problem zu lösen.

Erstellen einer Datei und Definition der Hauptfunktion

Zunächst werden wir eine neue Datei namens main.c erstellen. Die Hauptfunktion nimmt eine Benutzereingabe für den Wert von N entgegen, übergibt diese Eingabe an die rekursive Summenfunktion und gibt dann das Ergebnis aus.

#include<stdio.h>

int getSum(int);

int main()
{
    printf("This program finds the sum of the first N numbers using recursion.\n");

    int n, sum;
    printf("\nEnter the value of N: ");
    scanf("%d", &n);

    sum = getSum(n);

    printf("\nThe sum of the first %d numbers is %d\n", n, sum);

    return 0;
}

Definition der rekursiven Summenfunktion

In diesem Schritt werden wir die rekursive Summenfunktion getSum() definieren. Diese Funktion nimmt einen ganzzahligen Parameter n entgegen und gibt die Summe der ersten n ganzen Zahlen zurück. Diese Funktion wird rekursiv aufgerufen, bis wir einen Fall erreichen, in dem n kleiner oder gleich 0 ist.

int getSum(int n)
{
    static int sum = 0;

    if (n <= 0) {
        return sum;
    }

    sum += n;
    getSum(n-1);
}

Die Anweisung static int sum = 0; wird verwendet, um eine statische lokale Variable zu erstellen. Da dies eine Rekursion ist, wird die gleiche Variable verwendet, wenn getSum() mehrmals aufgerufen wird.

Ausführen des Codes

Das Programm ist jetzt bereit zum Ausführen. Kompilieren und führen Sie das Programm mit dem folgenden Befehl aus:

$ gcc main.c -o main
$./main

Vollständiger Code-Listing

#include<stdio.h>

int getSum(int);

int main()
{
    printf("This program finds the sum of the first N numbers using recursion.\n");

    int n, sum;
    printf("\nEnter the value of N: ");
    scanf("%d", &n);

    sum = getSum(n);

    printf("\nThe sum of the first %d numbers is %d\n", n, sum);

    return 0;
}

int getSum(int n)
{
    static int sum = 0;

    if (n <= 0) {
        return sum;
    }

    sum += n;
    getSum(n-1);
}

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in der C-Programmierung Rekursion verwendet, um die Summe der ersten N Zahlen zu berechnen. Wir haben ein Programm erstellt, das Benutzereingaben entgegennimmt, eine rekursive Funktion verwendet, um die Summe der ersten N ganzen Zahlen zu berechnen und das Ergebnis an den Benutzer ausgibt.