Fibonacci-Folge in C generieren

CCBeginner
Jetzt üben

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

Einführung

In diesem Labor lernen wir, wie man eine Fibonacci-Folge in C generiert. Die Fibonacci-Folge ist eine bekannte mathematische Folge, bei der jede Zahl die Summe der beiden vorhergehenden ist. Wir werden zunächst die Anzahl der Terme vom Benutzer einlesen, dann eine Schleife verwenden, um die Folge zu generieren, und schließlich die resultierende Fibonacci-Folge ausgeben. Dieses Labor behandelt grundlegende Konzepte der Zahlentheorie und diskreten Mathematik mithilfe der C-Programmiersprache.

Anzahl der Terme einlesen

In diesem Schritt lernen wir, wie man die Anzahl der Terme für die Generierung einer Fibonacci-Folge in C einliest. Dies ist der erste entscheidende Schritt bei der Erstellung unseres Fibonacci-Folge-Programms.

Erstellen wir zunächst eine neue C-Datei im Verzeichnis ~/project:

cd ~/project
nano fibonacci.c

Schreiben wir nun den Anfangscode, um die Anzahl der Terme vom Benutzer einzulesen:

#include <stdio.h>

int main() {
    int n;

    printf("Geben Sie die Anzahl der Terme in der Fibonacci-Folge ein: ");
    scanf("%d", &n);

    printf("Sie haben %d Terme eingegeben.\n", n);

    return 0;
}

Kompilieren und führen wir das Programm aus, um unsere Eingabe zu testen:

gcc fibonacci.c -o fibonacci
./fibonacci

Beispielausgabe:

Geben Sie die Anzahl der Terme in der Fibonacci-Folge ein: 10
Sie haben 10 Terme eingegeben.
Erklärung
  • scanf("%d", &n) liest eine ganzzahlige Eingabe vom Benutzer und speichert sie in der Variablen n.
  • Wir verwenden printf(), um den Benutzer aufzufordern und die eingegebene Anzahl der Terme anzuzeigen.
  • Das Programm validiert, dass wir die Benutzereingabe für die Folgenlänge erfolgreich erfassen können.

Verwendung einer Schleife zur Generierung der Terme

In diesem Schritt werden wir unser vorheriges Fibonacci-Folge-Programm modifizieren, um die Folge mithilfe einer Schleife zu generieren. Wir bauen auf dem Code des vorherigen Schritts auf, um die tatsächliche Fibonacci-Folge zu erstellen.

Aktualisieren wir die Datei fibonacci.c:

cd ~/project
nano fibonacci.c

Ändern wir nun den Code, um Fibonacci-Terme mithilfe einer for-Schleife zu generieren:

#include <stdio.h>

int main() {
    int n, first = 0, second = 1, next;

    printf("Geben Sie die Anzahl der Terme in der Fibonacci-Folge ein: ");
    scanf("%d", &n);

    printf("Fibonacci-Folge von %d Termen: \n", n);

    for (int i = 0; i < n; i++) {
        if (i <= 1)
            next = i;
        else {
            next = first + second;
            first = second;
            second = next;
        }
        printf("%d ", next);
    }
    printf("\n");

    return 0;
}

Kompilieren und ausführen des Programms:

gcc fibonacci.c -o fibonacci
./fibonacci

Beispielausgabe:

Geben Sie die Anzahl der Terme in der Fibonacci-Folge ein: 10
Fibonacci-Folge von 10 Termen:
0 1 1 2 3 5 8 13 21 34
Erklärung
  • Wir initialisieren first und second als die ersten beiden Terme der Fibonacci-Folge.
  • Die for-Schleife generiert nachfolgende Terme, indem die beiden vorherigen Terme addiert werden.
  • next = first + second berechnet den nächsten Term.
  • Wir aktualisieren first und second in jeder Iteration, um den Verlauf der Folge aufrechtzuerhalten.
  • Die Schleife läuft weiter, bis die angegebene Anzahl an Termen generiert wurde.

Ausgabe der Folge

In diesem letzten Schritt erweitern wir unser Fibonacci-Folge-Programm, indem wir Formatierungsoptionen hinzufügen und die Ausgabe verbessern.

Aktualisieren wir die Datei fibonacci.c, um die Folgenanzeige zu verbessern:

cd ~/project
nano fibonacci.c

Ändern Sie den Code, um weitere Formatierungs- und Ausgabeoptionen hinzuzufügen:

#include <stdio.h>

int main() {
    int n, first = 0, second = 1, next;

    printf("Geben Sie die Anzahl der Terme in der Fibonacci-Folge ein: ");
    scanf("%d", &n);

    printf("Fibonacci-Folge von %d Termen:\n", n);

    printf("Index\tWert\n");
    printf("-----\t-----\n");

    for (int i = 0; i < n; i++) {
        if (i <= 1)
            next = i;
        else {
            next = first + second;
            first = second;
            second = next;
        }
        printf("%d\t%d\n", i, next);
    }

    return 0;
}

Kompilieren und ausführen des Programms:

gcc fibonacci.c -o fibonacci
./fibonacci

Beispielausgabe:

Geben Sie die Anzahl der Terme in der Fibonacci-Folge ein: 8
Fibonacci-Folge von 8 Termen:
Index	Wert
-----	-----
0	0
1	1
2	1
3	2
4	3
5	5
6	8
7	13
Erklärung
  • Wir haben eine formatierte Tabelle mit Spalten für Index und Wert hinzugefügt.
  • \t wird für tabulatorgetrennte Spalten verwendet, um eine übersichtliche Tabellenanordnung zu erstellen.
  • Jeder Term wird nun mit seinem entsprechenden Index ausgegeben.
  • Die Ausgabe bietet eine klare, strukturierte Darstellung der Fibonacci-Folge.

Zusammenfassung

In diesem Labor haben wir gelernt, wie man die Anzahl der Terme vom Benutzer liest, um eine Fibonacci-Folge in C zu generieren. Zuerst fordern wir den Benutzer auf, die gewünschte Anzahl an Termen einzugeben, und verwenden dann eine Schleife, um die Fibonacci-Folge zu berechnen und auszugeben. Die wichtigsten Schritte beinhalten die Initialisierung der ersten beiden Fibonacci-Zahlen und die anschließende Aktualisierung dieser in jeder Schleifeniteration, um die nächste Zahl in der Folge zu generieren.

Schließlich geben wir die vollständige Fibonacci-Folge basierend auf der Eingabe des Benutzers aus. Dieses Labor bietet ein praktisches Beispiel für die Verwendung von Schleifen und Variablen, um eine klassische mathematische Folge in einer Programmiersprache zu generieren.