In diesem Labor werden Sie:
Schreiben Sie ein Programm, das die Summe aller Zahlen von 1 bis n berechnet.
Der Benutzer soll n eingeben können.
for-SchleifeDateiname: summe.c
/* * summe.c * Berechnet die Summe von 1 bis n mit einer for-Schleife */ #include <stdio.h> int main() { int n, summe = 0; printf("Geben Sie eine Zahl ein: "); scanf("%d", &n); // Summe mit for-Schleife berechnen for (int i = 1; i <= n; i++) { summe = summe + i; } printf("Die Summe von 1 bis %d ist: %d\n", n, summe); return 0; }
Schreiben Sie ein Programm, das die Fakultät einer Zahl berechnet.
Formel: n! = 1 × 2 × 3 × ... × n
Beispiel: 5! = 1 × 2 × 3 × 4 × 5 = 120
long long für große ErgebnisseDateiname: fakultaet.c
/* * fakultaet.c * Berechnet die Fakultät einer Zahl */ #include <stdio.h> int main() { int n; long long fakultaet = 1; // long long für große Ergebnisse printf("Geben Sie eine Zahl ein: "); scanf("%d", &n); // Fakultät berechnen for (int i = 1; i <= n; i++) { fakultaet = fakultaet * i; } printf("%d! = %lld\n", n, fakultaet); return 0; }
Schreiben Sie ein Programm, das eine Einmaleins-Reihe ausgibt.
Der Benutzer gibt eine Zahl ein (z.B. 7).
Das Programm gibt dann die 7er-Reihe aus: 7×1, 7×2, ... bis 7×10.
for-Schleife von 1 bis 10zahl × iFür Fortgeschrittene: Geben Sie die komplette Einmaleins-Tabelle (1-10 × 1-10) als formatierte Tabelle aus!
Nutzen Sie verschachtelte Schleifen und %4d für die Formatierung.
Dateiname: einmaleins.c
/* * einmaleins.c * Gibt eine Einmaleins-Reihe aus */ #include <stdio.h> int main() { int zahl; printf("Welche Einmaleins-Reihe möchten Sie sehen? "); scanf("%d", &zahl); printf("\n"); // Schleife von 1 bis 10 for (int i = 1; i <= 10; i++) { printf("%d x %d = %d\n", zahl, i, zahl * i); } return 0; }
/* * einmaleins_tabelle.c * Gibt die komplette Einmaleins-Tabelle aus */ #include <stdio.h> int main() { printf("Einmaleins-Tabelle:\n\n"); // Äußere Schleife: Zeilen (1 bis 10) for (int zeile = 1; zeile <= 10; zeile++) { // Innere Schleife: Spalten (1 bis 10) for (int spalte = 1; spalte <= 10; spalte++) { // %4d = rechtsbündig, 4 Zeichen breit printf("%4d", zeile * spalte); } printf("\n"); // Neue Zeile nach jeder Zeile } return 0; }
Erstellen Sie ein einfaches Zahlenraten-Spiel:
do-while-Schleifetipp == geheimzahlFür Fortgeschrittene: Generieren Sie eine zufällige Zahl mit rand()!
Tipp: #include <stdlib.h> und #include <time.h>
Dateiname: zahlenraten.c
/* * zahlenraten.c * Einfaches Zahlenraten-Spiel mit do-while-Schleife */ #include <stdio.h> int main() { int geheimzahl = 42; // Die gesuchte Zahl int tipp; int versuche = 0; printf("Rate eine Zahl zwischen 1 und 100!\n"); // Schleife läuft, bis die richtige Zahl geraten wurde do { printf("Ihr Tipp: "); scanf("%d", &tipp); versuche++; if (tipp < geheimzahl) { printf("Zu klein!\n"); } else if (tipp > geheimzahl) { printf("Zu groß!\n"); } else { printf("Richtig! Sie haben %d Versuche gebraucht.\n", versuche); } } while (tipp != geheimzahl); return 0; }
/* * zahlenraten_random.c * Zahlenraten mit Zufallszahl */ #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { // Zufallsgenerator initialisieren srand(time(NULL)); // Zufallszahl zwischen 1 und 100 generieren int geheimzahl = rand() % 100 + 1; int tipp; int versuche = 0; printf("Rate eine Zahl zwischen 1 und 100!\n"); do { printf("Ihr Tipp: "); scanf("%d", &tipp); versuche++; if (tipp < geheimzahl) { printf("Zu klein!\n"); } else if (tipp > geheimzahl) { printf("Zu groß!\n"); } else { printf("Richtig! Sie haben %d Versuche gebraucht.\n", versuche); } } while (tipp != geheimzahl); return 0; }
Schreiben Sie ein Programm, das eine Zahl zwischen 1 und 10 einliest.
Wenn der Benutzer eine ungültige Zahl eingibt, soll das Programm erneut fragen.
do-while-Schleifezahl < 1 || zahl > 10Dateiname: validierung.c
/* * validierung.c * Eingabevalidierung mit do-while-Schleife */ #include <stdio.h> int main() { int zahl; // Schleife läuft, bis eine gültige Zahl eingegeben wurde do { printf("Geben Sie eine Zahl zwischen 1 und 10 ein: "); scanf("%d", &zahl); if (zahl < 1 || zahl > 10) { printf("Ungültige Eingabe! Bitte erneut versuchen.\n"); } } while (zahl < 1 || zahl > 10); printf("Danke! Sie haben %d eingegeben.\n", zahl); return 0; }
Erstellen Sie eine Preistabelle für ein Produkt (Grundpreis: 19.99€) mit verschiedenen Mengen.
Die Tabelle soll folgendes Format haben:
%5d: rechtsbündig, 5 Zeichen (Menge)%12.2f: rechtsbündig, 12 Zeichen, 2 Nachkommastellen (Preise)printf("%5d | %12.2f | %12.2f\n", ...);Dateiname: preistabelle.c
/* * preistabelle.c * Formatierte Preistabelle mit printf-Formatierung */ #include <stdio.h> int main() { double einzelpreis = 19.99; // Tabellenüberschrift printf("Menge | Einzelpreis | Gesamtpreis\n"); printf("------|-------------|-------------\n"); // Tabellenzeilen mit for-Schleife for (int menge = 1; menge <= 10; menge++) { double gesamtpreis = einzelpreis * menge; // %5d: rechtsbündig, 5 Zeichen (Menge) // %12.2f: rechtsbündig, 12 Zeichen, 2 Nachkommastellen (Preise) printf("%5d | %12.2f | %12.2f\n", menge, einzelpreis, gesamtpreis); } return 0; }
Eine perfekt formatierte Tabelle mit 10 Zeilen, alle Werte schön ausgerichtet!
%5d = Integer, rechtsbündig, 5 Zeichen breit%12.2f = Fließkommazahl, rechtsbündig, 12 Zeichen breit, 2 Nachkommastellen
Gut gemacht! Sie beherrschen jetzt Schleifen in C!
Weiter üben und experimentieren!