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. */ }