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: Unterschied zwischen den Versionen

(CKURS Musterlösung Fibonacci-Folge erstellt)
 
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 Kommandozeilenparameter ausgelesen und in der Integer-Variablen 'n' gespeichert */
+
    /* hier wird der Integer-Variablen 'result' das Ergbniss der Funktion fib zugewiesen.*/
if(argc != 2 ){
+
    int result = fib(n);
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.*/
+
    /* wenn das Ergebnis der Rechung weiterhin in der Integer-Variablen 'result' gespeichert ist wird deren Wert hier auf der Konsole ausgegeben. */  
int result = fib(n);
+
    printf("%d \n",result);
+
  }
/* wenn das Ergebniss der Rechung weiterhin in der Integer-Variablen 'result'gespeichert ist wird deren wert hier auf der Konsole ausgegeben. */  
+
  return 0;
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 */
+
  if( n == 0){ /* das 0-te Folgenglied ist per Definition 0 */
return 0;
+
    return 0;
}
+
  }
if( n == 1){ /* das 1-te Folgenglied ist per Definition 1 */
+
  if( n == 1){ /* das 1-te Folgenglied ist per Definition 1 */
return 1;
+
    return 1;
}
+
  }
if( n > 1){ /* alle weiteren Folgenglieder werden aus den jeweiligen Vorgaengern berechnet */
+
  if( n > 1){ /* alle weiteren Folgenglieder werden aus den jeweiligen Vorgaengern berechnet */
return fib(n-1)+fib(n-2);
+
    return fib(n-1)+fib(n-2);
}
+
  }
return 0;
+
  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;
}