Aufgabe – hochzählen bis Endwert
Gegeben ist der folgende Programmcode:
#include <stdio.h>
int main() {
int i = 1;
while (i <= 10) {
printf("%d\n", i);
i = i + 1;
}
return 0;
}
Erweitere den Programmcode, sodass der Endwert für das Hochzählen durch den Nutzer eingegeben werden kann.
Hinweis: Nutze dazu scanf, um den Nutzer vor dem Beginn der Schleife nach dem gewünschten Endwert zu fragen. Nutze dann die Eingabe für die Schleife an einer geeigneten Stelle.
Aufgabe – Summe der Zahlen von 1 bis 100
Berechne mit einer while-Schleife die Summe aller Zahlen von 1 bis 100.
Musterlösung Summe der Zahlen von 1 bis 100
#include <stdio.h>
int main(void) {
int i = 1;
int summe = 0;
while (i <= 100) {
summe += i;
i++;
}
printf("Summe = %d", summe);
return 0;
}
Aufgabe – Quadratzahlen bis 10
Erstelle ein Programm, das in einer while-Schleife die Quadrate für die Zahlen von 1 bis 10 berechnet und ausgibt.
Erweitere anschließend das Programm, sodass die Quadrate der Zahlen von 1 bis 10 summiert werden.
Musterlösung Quadratzahlen bis 10
#include <stdio.h>
int main(void) {
int i = 1;
while (i <= 10) {
printf("%d ", i * i);
i++;
}
return 0;
}
Aufgabe – Nur gerade Zahlen von 1 bis 20 ausgeben
Schreibe ein Programm, das mit einer while-Schleife nur gerade Zahlen zwischen 1 und 20 ausgibt.
Musterlösung Nur gerade Zahlen von 1 bis 20 ausgeben
#include <stdio.h>
int main(void) {
int zahl = 1;
while (zahl <= 20) {
if (zahl % 2 == 0) {
printf("%d ", zahl);
}
zahl++;
}
return 0;
}
Aufgabe – Produkt der Zahlen 1 bis 5
Berechne mit einer while-Schleife das Produkt der Zahlen von 1 bis 5 (also 1×2×3×4×5).
Musterlösung Produkt der Zahlen 1 bis 5
#include <stdio.h>
int main(void) {
int i = 1;
int produkt = 1;
while (i <= 5) {
produkt *= i;
i++;
}
printf("Produkt = %d", produkt);
return 0;
}
Aufgabe – Multiplikationstabelle (verschachtelte while-Schleifen)
Erstelle eine Multiplikationstabelle von 1 bis 5.
Nutze dafür zwei while-Schleifen: eine äußere für die Zeilen und eine innere für die Spalten.
Musterlösung Multiplikationstabelle (verschachtelte while-Schleifen)
#include <stdio.h>
int main(void) {
int i = 1;
while (i <= 5) {
int j = 1;
while (j <= 5) {
printf("%4d", i * j);
j++;
}
printf("\n");
i++;
}
return 0;
}
Aufgabe – Suche nach der ersten Zahl, die durch 3 und 5 teilbar ist
Finde mit einer while-Schleife die erste Zahl größer als 1, die durch 3 und 5 teilbar ist.
Nutze break, um die Schleife zu beenden, sobald die Zahl gefunden ist.
Musterlösung Suche nach der ersten Zahl, die durch 3 und 5 teilbar ist
#include <stdio.h>
int main(void) {
int n = 2;
while (1) {
if (n % 3 == 0 && n % 5 == 0) {
printf("Gefundene Zahl: %d", n);
break;
}
n++;
}
return 0;
}
Aufgabe – Nur ungerade Zahlen ausgeben (mit continue)
Schreibe ein Programm, das Zahlen von 1 bis 20 durchläuft, aber gerade Zahlen überspringt.
Verwende dafür continue.
Musterlösung Nur ungerade Zahlen ausgeben (mit continue)
#include <stdio.h>
int main(void) {
int n = 1;
while (n <= 20) {
if (n % 2 == 0) {
n++;
continue;
}
printf("%d ", n);
n++;
}
return 0;
}
Aufgabe – Rechteck aus Sternchen zeichnen (verschachtelte Schleifen)
Gib ein Rechteck aus Sternchen mit 5 Zeilen und 10 Spalten auf der Kommandozeile aus.
Verwende verschachtelte while-Schleifen.
Musterlösung
#include <stdio.h>
int main(void) {
int zeile = 1;
while (zeile <= 5) {
int spalte = 1;
while (spalte <= 10) {
printf("*");
spalte++;
}
printf("\n");
zeile++;
}
return 0;
}
Aufgabe – Zähle bis 50, aber beende bei einer Bedingung
Zähle mit einer while-Schleife von 1 bis 50.
Wenn eine Zahl größer als 30 und durch 4 teilbar ist, beende die Schleife vorzeitig mit break.
Gib außerdem aus, bei welcher Zahl die Schleife beendet wurde.
Musterlösung
#include <stdio.h>
int main(void) {
int n = 1;
while (n <= 50) {
printf("%d ", n);
if (n > 30 && n % 4 == 0) {
printf("\nSchleife beendet bei %d\n", n);
break;
}
n++;
}
return 0;
}