PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übungsaufgaben für C



blackslash
23.05.2010, 17:42
Moin,
hab aus der Schule einige Hausübungen für C, angefangen von formatieren von Ausgaben, zu Bitoperatoren & strings.
Wenn interesse besteht würd ich sie hochladen damit Anfänger von euch ein paar Beispiele zum üben haben.

mfg

J0hn.X3r
23.05.2010, 20:18
Ich denk es schadet nicht, wenn du sie mal hochlaedst.

Mirr0w
23.05.2010, 20:25
ja wàre b1ce von dir ^^ kann atm nen appr aufgaben gebrauchen !
mfg

blackslash
24.05.2010, 00:11
Aufgabe 1

1. Formatierte Ausgabe von Text und Zahlen

Die unten gegebene Ausgabe ist mit der vorgegebenen Variablenliste so zu erstellen, dass
nur diese Variablen mit den entsprechenden Formatelementen verwendet werden. In den
Formatstrings darf kein fixer Text (also auch keine Leerzeichen) verwendet werden.
Das Programm hat folgenden Aufbau:


int main(void) {
char ch1 = ’|’;
char ch2 = ’+’;
char line[] = "----------";
char h[] = "HHHHHHHHHH";
char t[] = "TTTTTTTTTT";
char l[] = "LLLLLLLLLL";
int x = 3728;
unsigned y = 56;
long z = 1234567890;
double d = 723.985;
// Hier wird mit printf()-Anweisungen die Ausgabe erzeugt
return 0;
}

Die Ausgabe besitzt folgende Form
1234567890123456789012345678901234567890
+--------------------------------------+
| |
| HH HH TTTTTTTTTT LL |
| HH HH TTTTTTTTTT LL |
| HH HH TT LL |
| HHHHHHHHHH TT LL |
| HHHHHHHHHH TT LL |
| HH HH TT LL |
| HH HH TT LLLLLLLLLL |
| HH HH TT LLLLLLLLLL |
| |
+--------------------------------------+

%1234567890%
"+000723.99"
"7.24E+002 "
\ 070 0x38\
\+000003728\

Hinweis: Der String
"HHH TTT"
kann z.B. mit folgender printf()-Anweisung erzeugt werden:
printf("%-6.3s%.3s", h, t);

Aufgabe 2
Lineare Programme

1. Benzinverbrauch

Das Programm soll den zwischen zwei Tankstopps eines Autos liegenden durchschnittlichen Benzinverbrauch pro 100 km
und die Benzinkosten ausgeben.
Zum Abspeichern der Kilometerstände ist ein ganzzahliger
Datentyp zu verwenden.

Beispiel:

Kilometerstand beim letzten Tankstopp -> 94328
Kilometerstand beim heutigen Tankstopp -> 94870
Benzinverbrauch in Liter -> 39.5
Benzinpreis pro Liter in Euro -> 1.312
---------------------------------------------------
Durchschnittlicher Benzinverbrauch: 7.29 l / 100 km
Durchschnittliche Benzinkosten: 0.096 Euro / km

2. Stromrechnung

Es soll eine Stromrechnung erstellt werden. Folgende Werte werden über die Tastatur
eingelesen: Alter Zählerstand in kwH, neuer Zählerstand in kwH, Preis pro kwH,
Grundgebühr, Umsatzsteuer in Prozent.
Ausgabe: Rechnungsbetrag inklusive Umsatzsteuer

Beispiel:

Neuer Zaehlerstand (kwH) -> 114196
Grundgebuehr in Euro -> 52.00
Preis pro kwH in Euro -> 0.1433
Ust in % -> 20
----------------------------------------
Rechnungsbetrag inkl. UST EUR 608.03, davon 20 % Ust: 101.34

3. Geldbetrag

Einzugeben ist ein Geldbetrag in EUR. Anschließend ist auszugeben, wie viele Geldscheine
bzw. Münzen höchstens notwendig sind, um den Betrag auszuzahlen.

Beispiel:

Betrag in EUR -> 845.77
1 mal 500 EUR
1 mal 200 EUR
1 mal 100 EUR
0 mal 50 EUR
2 mal 20 EUR
0 mal 10 EUR
1 mal 5 EUR
1 mal 50 Cent
1 mal 20 Cent
0 mal 10 Cent
1 mal 5 Cent
1 mal 2 Cent
0 mal 1 Cent

4. Zinsen

Einzugeben sind Kapital, Zinssatz (in Prozent) und Laufzeit (in Jahren, Monaten und
Tagen). Das Programm soll die einfachen bankmäßigen Zinsen und das verzinste Gesamtkapital
berechnen (jedes Monat ist mit 30 Tagen und jedes volle Jahr mit 360
Tagen zu rechnen).

Beispiel:

Kapital (in Euro) --> 1234.56
Zinssatz (in %) --> 4.5
Verzinsungsdauer (im Format j-m-d) --> 3-7-12
---------------------------------------------------
Es ergeben sich Zinsen von 200.92 Euro.
Wert des einfach verzinsten Gesamtkapitals: 1435.48 Euro.

5. Marathonlauf

Ein (Marathon)Läufer gibt seine Leistungen für eine bestimmte Trainingsstrecke ein:
die Zeit in Stunden, Minuten und Sekunden sowie die gelaufene Strecke in Meter. Er
möchte wissen, wie lange er für die Marathondistanz von 42195m benötigt, wenn er
um einen einzugebenden Prozentsatz mehr Zeit benötigt wie auf der Teststrecke.

Beispiel:

Laenge der Teststrecke in m --> 7500
Zeit fuer die Teststrecke (hh:mm:ss) --> 00:43:17
Wie viel % Leistungsverlust beim Marathon --> 7
----------------------------------------------------------
Geschaetzte Marathonzeit 4 Stunden 21 Minuten 50 Sekunden

6. Freier Fall

Mit Hilfe dieses Programms soll sowohl die Falldauer als auch die Aufprallgeschwindigkeit
bei einem freien Fall (ohne Berücksichtigung der Luftreibung) in einem Gravitationsfeld
bestimmt werden. Einzugeben sind dabei die Fallhöhe sowie die auftretende
Fallbeschleunigung. Zu bestimmen ist die Aufprallgeschwindigkeit (in km/h sowie in
m/s) als auch die Falldauer in Sekunden (eventuell Umrechnung in Stunden, Minuten
und Sekunden).

Beispiel:

Fallhoehe in m --> 1500
Fallbeschleunigung (auf der Erde 9.81m/sˆ2) --> 9.81
----------------------------------------------------------
Falldauer: 17.49s (0h 0min 17.49sec)
Aufprallgeschwindigkeit: 171.55m/s oder 617.59km/h

Aufgabe 3
Bedingte Verzweigung

1. Dreieck

Schreiben Sie ein Programm, das zunächst die 3 Seitenlängen eines Dreiecks
einliest. Danach sind die drei Werte aufsteigend zu sortieren und es ist zu prüfen,
ob die 3 eingegebenen Seiten ein Dreieck bilden.
Hinweis:
Drei Strecken a, b und c mit a <= b <= c bilden genau dann ein Dreieck, wenn a+b > c
gilt.
Wenn die 3 eingegebenen Seitenlängen ein Dreieck bilden ist weiter zu prüfen, ob
ein besonderes Dreieck vorliegt. Das Programm liest also 3 Seiten und erzeugt
genau eine der folgenden Ausgaben:


Allgemeines Dreieck
Gleichschenkeliges Dreieck
Gleichseitiges Dreieck
Rechtwinkeliges Dreieck
Gleichschenkelig und rechtwinkeliges Dreieck
Kein Dreieck

Beispiele:

1.Seite --> 3.8
2.Seite --> 10.9
3.Seite --> 2.9
Kein Dreieck
---------
1.Seite --> 1
2.Seite --> 1.414213
3.Seite --> 1
Gleichschenkelig und rechtwinkeliges Dreieck

2. Einkommenssteuergesetz

Laut Österreichischem Einkommensteuergesetz berechnet sich die jährliche Lohnsteuer
bei einem zu versteuerndem Jahreseinkommen von e € gemäß der folgenden
Tabelle:
Einkommen e Einkommensteuer in Euro


bis 10.000€ : 0
über 10.000€ bis 25.000€ : (e - 10000) * 5750 / 15000
über 25.000€ bis 51.000€ : ((e - 25000) * 11335 / 26000) + 5750
über 51.000€ (e - 51000) * 0,5 + 17085

Schreiben Sie ein C-Programm, welches ein jährliches zu versteuerndes Einkommen
einliest und das die zu bezahlende jährliche Einkommensteuer berechnet
und ausgibt. Bei einem negativen Eingabewert ist eine entsprechende Meldung
auszugeben.

3. s=v*t

Schreiben Sie ein Programm, das mit Hilfe der Formel s = v * t (Weg = Geschwindigkeit
mal Zeit) jede beliebige der drei Größen berechnet und ausgibt, wenn die
beiden anderen eingegeben werden.

Ein möglicher Dialog könnte lauten:

Was soll berechnet werden ?
1...Weg
2...Geschwindigkeit
3...Zeit
Bitte Ihre Wahl eingeben --> 2
Weg in km eingeben --> 183
Zeit in h eingeben --> 2.4
Die Geschwindigkeit betraegt 76.25 km/h, das sind 21.18 m/s.

Beachte Sie: Die Division durch Null ist zu vermeiden und mit Hilfe einer Fehlermeldung
abzufangen.

4. Koordinaten

Schreiben Sie ein Programm, welches die Koordinaten von vier Punkten der Ebene
einliest und das feststellt, welches der angegebenen Vierecke die vier Punkte
in der eingegebenen Reihenfolge bilden:


allgemeines Viereck
Rechteck
Quadrat
Rhombus (Raute)
Deltoid
Parallelogramm

Hinweise:
1)Die Art jedes der Vierecke kann bestimmt werden, indem man die Seitenlängen
sowie die Längen der Diagonalen berechnet und miteinander vergleicht.

2)Den Abstand d zwischen zwei Punkten A(xa=ya) und B(xb=yb) berechnet man
mit Hilfe der Formel

d=sqrt((xa-xb)²+(yq-yb)²)

5. Winkel

Schreiben Sie ein Programm, welches die Winkel und eines Dreiecks in zwei
Variable vom Typ float einliest und das den den dritten Dreieckswinkel
berechnet.
Danach soll ausgegeben werden, um welche Art von Dreieck es sich handelt:


stumpfwinkelig
rechtwinkelig
spitzwinkelig
gleichseitig
gleichschenkelig
rechtwinkelig-gleichschenkelig
kein Dreieck

Hinweis:
Es können auch mehrere Eigenschaften gleichzeitig auftreten. So kann
ein stumpfwinkeliges Dreieck auch gleichzeitig gleichschenkelig sein.

Hinweis für alle Aufgaben

Beim Vergleichen von Fließkommawerten ist die Prüfung auf exakte Gleichheit mit Hilfe
des Operators '==' zu vermeiden. Zwei Fließkommawerte gelten als gleich, wenn sie
sich nicht um mehr als 0,00001 (1E-5) unterscheiden.
Zwei Fließkommawerte a und b gelten also als gleich, wenn

fabs (a-b) < 1E-1ist. Dabei ist double fabs (double); eine Bibliotheksfunktion, welche math.h erfordert
(bestimmt den Absolutbetrag einer double-Variablen).

Matrixianer
24.05.2010, 00:14
lol einfach nur geil, erinnert mich an mein studium ;)

Joka
24.05.2010, 00:19
Das is ma wieder ne schöne übung :D
aber das is doch etwas zu einfach ..:P
hast du da auch noch schwerere ?

blackslash
24.05.2010, 00:42
sodale hab mal alles in einen post gepackt, hoff das passt so.
ganz schöne hackn aus pdf die sachen wieder in ne schöne formatierung mit spoilern zu bekommen xD
aber s geht...
sind erst 3 aufgaben von insgesamt 9 also wenn weiteres interresse besteht kann ich mich dran setzen,
die intressanteren sachen kommen erst.

Joka
24.05.2010, 00:47
Coole sache :D
danke *daumen hoch*
werd mal meine kenntnisse auffrischn (:

Evilcat182
06.07.2010, 16:51
vielen dank werd mal fleisig üben :D