C: Fibonacci Zahlen erzeugen?

Hier die Aufgabe:

Schreiben Sie ein Programm, das die FIBONACCI-Zahlen bis zu einer eingegebenen Höchstgrenze (Datentyp long) erzeugt und ausgibt. Eine FIBONACCI-Zahl wird als Summe der beiden vorhergehenden FIBONACCI-Zahlen gebildet. Die erste und die zweite FIBONACCI-Zahl sind gleich 1.
Mit Hilfe des Rückgabewertes von scanf() ist zu überprüfen, ob die Eingabe in Ordnung war. Sonst ist eine Fehlermeldung auszugeben. Weiter ist zu überprüfen, ob die Eingabe größer Null (also eine natürliche Zahl) war. Außerdem soll der Benutzer beliebig viele Listen innerhalb eines Programms berechnen können.

Beispiel:

Eingabe: 13
Ausgabe: 1 1 2 3 5 8 13
Wiederholung (j/n)?

Mein Quellcode:

int main() {
  long hoechstgrenze = 0,
    start = 0,
    ende = 0;
  char wiederholen = 0;
  double dauer = 0;
  int zahl1 = 0,
    zahl2 = 0,
    fibonacci = 0,
    rueckgabewert = 0,
    letzte = 0,
    vorletzte = 0;
  start = clock();

  printf("Zahl1 und Zahl2 eingeben: ");
  rueckgabewert = scanf("%d%d", &zahl1, &zahl2);

  if (rueckgabewert != 2) {
    printf("Fehler");
  }

  while (fibonacci<hoechstgrenze) {
    fibonacci = letzte+vorletzte;
    zahl1 = zahl2;
    letzte = fibonacci;
    vorletzte = letzte;
  }

  /*
    printf("\nWollen Sie das Programm wiederholen?(j/n)");
    wiederholen = getche();
  
    while (wiederholen=='j' || wiederholen=='J');
  */

  ende = clock();
  dauer = (ende - start) / CLOCKS_PER_SEC;
  printf("Dauer: %lf", dauer);

  return 0;
}

Ich stehe auf dem Schlauch. Könnt ihr mir helfen?

Computer, programmieren
3 Antworten