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;
}

Nach oben scrollen