Programmieraufgaben


Hier einige Übungsaufgaben.


Schreiben Sie ein Programm, das folgende Multiplikationstabelle ausgibt

    1   2   3   4   5   6   7   8   9  10  11  12 
    2   4   6   8  10  12  14  16  18  20  22  24 
    3   6   9  12  15  18  21  24  27  30  33  36 
    4   8  12  16  20  24  28  32  36  40  44  48 
    5  10  15  20  25  30  35  40  45  50  55  60 
    6  12  18  24  30  36  42  48  54  60  66  72 
    7  14  21  28  35  42  49  56  63  70  77  84 
    8  16  24  32  40  48  56  64  72  80  88  96 
    9  18  27  36  45  54  63  72  81  90  99 108 
   10  20  30  40  50  60  70  80  90 100 110 120 
   11  22  33  44  55  66  77  88  99 110 121 132 
   12  24  36  48  60  72  84  96 108 120 132 144 
Lösung 1
Lösung 2

Schreiben Sie ein Programm, das eine ASCII-Tabelle ausgibt.
Lösung 1
Lösung 2

Konvertieren Sie UNIX-Files in das MS-DOS Format.
Unix Datensätze (bei Texten Zeilen) werden mit  x'0a' abgeschlossen
MS-DOS Datensätze (bei Texten Zeilen) werden mit  x'0d0a'  abgeschlossen
Lösung

Anwendung von 'for'. Produzieren Sie eine Tabelle, in der man sehen kann, welchen Zahlenbereich (natürliche Zahlen, unsigned int) man mit n Bits erhält. Die Tabelle soll den Bereich 1 .. 32 Bit umfassen, z.B.  8 bit -> Bereich 1 .. 255.
Lösung

Zufallszahlen. Erzeugen Sie eine Folge von 6 Zufallszahlen im Bereich 1 bis 49.
Lösung , es soll ausgegeben werden:
	Hier sechs Zufallszahlen 7 8 9 33 34 43

Verändern  Sie das vorhergehende Programm so, daß es Lottozahlen vorschlagen kann. In diesem Fall dürfen Zahlen nicht doppelt vorkommen.
Die Chancen für einen Sechser stehen übrigens 13,983,816 zu 1 - viel Glück .
Lösung , es soll ausgegeben werden:
	Die Gewinnzahlen der nächsten Woche lauten: 7 8 9 33 34 43

Erzeugen Sie eine Fibonacci Reihe. Beginnen Sie mit  0, 1.
Lösung sollte ergeben:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
Lösung aus 'Practical C'  O'Reilly and Associates.

Schreiben Sie ein Programm, das zwei Funktionen bignum() und littlenum() enthält. Mit diesen Funktionen sollen Sie die kleinste und die größte Zahl finden, die in einer Folge von Zahlen vorkommen, die per Tastatur eingegeben werden.
Lösung

Verwenden Sie Strukturen, um zwei Brüche zu addieren.
Lösung

Schreiben Sie ein Programm, das ausgehend von Anfangsmonat, Anfangsjahr und Anzahl der Monate einen Kalender ausgibt.
Lösung

Gesucht ist ein Programm, das seinen Namen (unter dem es gestartet wird) ausgibt. 
Lösung

Schreiben Sie ein Programm, das den Inhalt eines Files in Hexadezimalformat ausgibt. Die Ausgabe soll etwas so aussehen:
   20 2A 20 68 65 78 5F 63 68 61 72 28 63 68 61 72     * hex_char(char
   20 2A 70 6F 73 69 74 69 6F 6E 2C 20 63 68 61 72     *position, char
   20 63 29 0A 20 20 20 7B 0A 20 20 20 73 70 72 69     c).   {.   spri
   6E 74 66 28 70 6F 73 69 74 69 6F 6E 2C 20 22 25    ntf(position, "%
   30 32 58 20 22 2C 20 63 29 3B 20 0A 0A 09 09 09    02X ", c); .....
Lösung

Schreiben Sie ein Programm, das den gestrigen Tag ausgibt. Sie können die ANSI Standardfunktionen   'time' und 'ctime' verwenden. Eine Beispielausgabe könnte so aussehen:
	Fri Dec 31 23:59:59 1999
Lösung

Geben Sie ein Byte in Binärformat aus, z.B.:
	55 == 00110111
Lösung

Anfang Hauptindex C Schlüsselwörter Funktionen

Übers.: G. Junghanns