C-Kurs/Fibonacci-Folge/Musterlösung: Unterschied zwischen den Versionen
< C-Kurs | Fibonacci-Folge
(CKURS Musterlösung Fibonacci-Folge erstellt) |
Mario (Diskussion | Beiträge) K (→Musterlösung Fibonacci-Folge: Typo + alignment) |
||
Zeile 9: | Zeile 9: | ||
int main(int argc, char *argv[]) | 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 Ergebnis 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 */ | /* diese Funktion berechnet das n-te Folgebglied der Fibonacci-Folge */ | ||
int fib(int n){ | 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; | |
} | } |
Version vom 6. September 2010, 14:51 Uhr
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 Ergebnis 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; }