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
