Fibonacci-Folge, C Programmier kurs?
#include <stdio.h>
#include <stdlib.h>
int main() { int n; printf(" Bitte geben sie eine Nummer ein:\n"); scanf("%d", &n); int zahla = 1;
int zahlb = 1;
int temp;
printf("Fib(1) = 1\n");
printf("Fib(2) = 1\n");
for (int i=3; i <=n; i++) {
temp = zahla + zahlb;
printf("Fib(%d) = %d + %d = %d\n", i, zahla, zahlb, temp);
zahlb = zahla;
zahla = temp;
}
}
Fibonacci-Folge, meine abfrage geht nicht richtig und ich möchte das er nur die abgefragte Fibonacci stelle also n angibt und nicht alle bis dahin.?
kann mir jemand weiter helfen?
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
![](https://images.gutefrage.net/media/user/ohwehohach/1484229011333_nmmslarge__192_3_203_203_916b80d33227bc2c78789585f46b3253.jpg?v=1484229011000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Technik, programmieren, Technologie
Naja, dann muss die printf Anweisung eben außerhalb der Schleife stehen:
for (int i = 3; i < n; i++)
{
temp = zahla + zahlb;
zahlb = zahla;
zahla = temp;
}
printf("Fib(%d) = %d + %d = %d\n", n, zahla, zahlb, zahla + zahlb);
Beachte auch, dass ich, damit ich im printf zahla+zahlb korrekt ausgeben kann, auch die Anzahl der Durchläufe geändert habe.
![](https://images.gutefrage.net/media/user/xxxcyberxxx/1691185806883_nmmslarge__0_0_1230_1230_4dfa4fbf5df5051b1dd22ccc1781adca.png?v=1691185807000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Technik, programmieren, Technologie
Dann setz doch die print-Anweisung einfach nach der Schleife - und nicht in dieser