Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C-Kurs/Fibonacci-Folge/Musterlösung

< C-Kurs‎ | Fibonacci-Folge
Version vom 1. September 2010, 19:09 Uhr von P.brodmann (Diskussion | Beiträge) (CKURS Musterlösung Fibonacci-Folge erstellt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Musterlösung Fibonacci-Folge

#include <stdio.h>
#include <stdlib.h>

/* hier sollten alle verwendeten Funkltionen deklarariert werden ( insbesondere die fib() Funktion ) */ 
int fib(int);

int main(int argc, char *argv[])
{

/* hier wird der Kommandozeilenparameter ausgelesen und in der Integer-Variablen 'n' gespeichert */
if(argc != 2 ){
	printf("usage: './fib n' where n is a number \n");
}else{
int n = atoi(argv[1]);

/* hier wird der Integer-Variablen 'result' das Ergbniss der Funktion fib zugewiesen.*/
int result = fib(n);

/* wenn das Ergebniss der Rechung weiterhin in der Integer-Variablen 'result'gespeichert ist wird deren wert hier auf der Konsole ausgegeben. */ 
printf("%d \n",result);
}
return 0;
}

/* diese Funktion berechnet das n-te Folgebglied der Fibonacci-Folge */
int fib(int n){
if( n == 0){ /* das 0-te Folgenglied ist per Definition 0 */
	return 0;
}
if( n == 1){ /* das 1-te Folgenglied ist per Definition 1 */
	return 1;
}
if( n > 1){ /* alle weiteren Folgenglieder werden aus den jeweiligen Vorgaengern berechnet */
	return fib(n-1)+fib(n-2);
}
return 0;
}