C :: Aufgabe #308 :: Lösung #1
2 Lösungen

#308
Zahlenpyramide (Reihenausgabe)
Anfänger - C
von JKooP
- 23.11.2020 um 16:23 Uhr
#1

von DaXn (180 Punkte)
- 16.12.2020 um 17:28 Uhr

/* Es soll per Funktion/Methode eine Zahlenpyramide (siehe jpg) mit den Ziffern 0-9 und der Höhe 10 erstellt werden. * Dies soll bewerkstelligt werden durch: * * Aufgabe 1: (leicht) * mehrerer ineinander verschachtelter Schleifen, * * Aufgabe 2: (schwieriger) * nur eine Schleife. */ #include <stdio.h> void NumberPyramid1 (int); void NumberPyramid2 (int); void NumberPyramid101 (void); int main () { NumberPyramid1 (10); printf ("\n"); NumberPyramid2 (10); printf ("\n"); NumberPyramid101 (); return 0; } /* verschachtelte Schleifen */ void NumberPyramid1 (int height) { for (int i = 0; i < height; ++i) { for (int a = height - 1; a > i; --a) printf (" "); for (int a = i; a; --a) printf ("%d", a); printf ("0"); for (int a = 1; a <= i; ++a) printf ("%d", a); for (int a = height - 1; a > i; --a) printf (" "); printf ("\n"); } } /* eine Schleife */ void NumberPyramid2b (int height) { static char const * const lookup [] = { " 0 \n", " 101 \n", " 21012 \n", " 3210123 \n", " 432101234 \n", " 54321012345 \n", " 6543210123456 \n", " 765432101234567 \n", " 87654321012345678 \n", "9876543210123456789\n" }; for (int i = 0; i < height; ++i) printf (lookup [i]); } /* keine Schleife */ void NumberPyramid101 (void) { printf (" 0\n 101\n 21012\n 3210123\n " "432101234\n 54321012345\n 6543210123456\n 765432101234567\n" " 87654321012345678\n9876543210123456789\n"); }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1