Online C Compiler
Im Compiler öffnen

Deutsche Lernausgabe

Zeichenmuster mit Schleifen in C

Koordinieren Sie Zeilen, Spalten, Leerzeichen und Zeilenumbrüche für Muster.

Im Compiler öffnen

Zeichenmuster mit Schleifen in C
Koordinieren Sie Zeilen, Spalten, Leerzeichen und Zeilenumbrüche für Muster.

Die äußere Schleife steuert gewöhnlich die Zeile, die innere deren Zeichen. Beschreiben Sie vor dem Programmieren die Anzahl der Leerzeichen und Symbole abhängig vom Zeilenindex.

Geben Sie den Zeilenumbruch nach der gesamten Zeile aus und nicht nach jedem Symbol. Unterscheiden Sie führende Leerzeichen, Trennzeichen und abschließende Leerzeichen, besonders bei automatischem Ausgabevergleich.

Testen Sie Größen von 1, 2 und mehr. N Zeilen mit jeweils bis zu N Symbolen benötigen O(N²) Ausgabeoperationen; die gesamte Zeichnung muss nicht gespeichert werden.

Quellcode

#include <stdio.h>

void print_right_pyramid(int rows) {
    printf("1. Right-Half Star Pyramid (Rows = %d):\n", rows);
    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= i; j++) {
            printf("* ");
        }
        printf("\n");
    }
}

void print_full_pyramid(int rows) {
    printf("\n2. Full Centered Star Pyramid (Rows = %d):\n", rows);
    for (int i = 1; i <= rows; i++) {
        for (int space = 1; space <= rows - i; space++) {
            printf("  ");
        }
        for (int j = 1; j <= 2 * i - 1; j++) {
            printf("* ");
        }
        printf("\n");
    }
}

void print_floyd_triangle(int rows) {
    printf("\n3. Floyd's Number Triangle (Rows = %d):\n", rows);
    int num = 1;
    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= i; j++) {
            printf("%-3d", num++);
        }
        printf("\n");
    }
}

int main(void) {
    int rows = 5;
    print_right_pyramid(rows);
    print_full_pyramid(rows);
    print_floyd_triangle(rows);
    return 0;
}
Im Compiler öffnen

Erwartetes Ergebnis

1. Right-Half Star Pyramid (Rows = 5):
* 
* * 
* * * 
* * * * 
* * * * * 

2. Full Centered Star Pyramid (Rows = 5):
        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 

3. Floyd's Number Triangle (Rows = 5):
1  
2  3  
4  5  6  
7  8  9  10 
11 12 13 14 15 

Häufige Fragen

Warum bleiben Code und manche Ausgaben englisch?

C-Schlüsselwörter, Bezeichner, Programmkommentare und erwartete Ausgaben bleiben wie im Original, damit der Code ausführbar und die Tests konsistent bleiben. Erklärungen und Aufgabenstellungen sind übersetzt.