Erzeugen Sie die Potenzen durch sukzessives Aufmultiplizieren.
Beachten Sie dabei insbesondere die Abbruchbedingung!
/* Header-Datei einbinden */
#include <stdio.h>
int main(void) /* hier beginnt das Hauptprogramm */
{
int zahl; /* Variable vom Typ int für die natürliche Zahl */
int i; /* Variable vom Typ int für den Zähler */
int pot; /* Variable vom Typ int für die Potenz */
printf("Bitte eine natürliche Zahl eingeben (2-32767): ");
scanf("%d", &zahl); /* Eingabe vom Benutzer */
if ((zahl < 2) || (zahl > 32767))
{ /* Wenn die natürliche Zahl zu klein oder zu groß ist, */
/* dann Fehler anzeigen und Programm mit Returncode 1 beenden. */
/* Zahl darf nicht größer als 32767 sein, weil sich sonst */
/* während der Berechnung das Vorzeichen umdrehen kann und es */
/* zu Fehlern kommt! */
printf("Die eingegebene Zahl ist nicht zulässig!\n");
return(1);
}
i = 0;
pot = 1;
while (pot <= (32767 / zahl)) /* Abbruchbedingung */
{
printf("%d hoch %d = %d\n", zahl, i, pot); /* Potenz ausgeben */
pot *= zahl; /* neue Potenz ist alte Potenz mal der eingegebenen Zahl */
i++;
}
printf("%d hoch %d = %d\n", zahl, i, pot); /* letzte berechnete Potenz ausgeben */
return(0); /* Das Hauptprogramm gibt am Ende 0 zurück, da kein Fehler aufgetreten ist. */
}