Ausgabe der Fakultät
In diesem Schritt erweitern Sie das Fakultätsberechnungsprogramm, um detailliertere Ausgaben zu liefern und verschiedene Eingabefälle zu behandeln. Wir werden die Datei factorial.c
modifizieren, um die Darstellung der Fakultätsergebnisse zu verbessern.
Aktualisieren Sie die Datei factorial.c
:
cd ~/project
nano factorial.c
Ersetzen Sie den vorherigen Inhalt durch die folgende verbesserte Implementierung:
#include <stdio.h>
unsigned long long factorialLoop(int n) {
unsigned long long result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
void printFactorialDetails(int n, unsigned long long factorial) {
printf("Details zur Fakultätsberechnung:\n");
printf("Zahl (n): %d\n", n);
printf("Fakultät (n!): %llu\n", factorial);
printf("Fakultätserweiterung: ");
for (int i = 1; i <= n; i++) {
printf("%d%s", i, (i < n) ? " × " : " = ");
}
printf("%llu\n", factorial);
}
int main() {
int n;
printf("Geben Sie eine nicht-negative ganze Zahl ein, um ihre Fakultät zu berechnen: ");
scanf("%d", &n);
if (n < 0) {
printf("Fehler: Die Fakultät ist für negative Zahlen nicht definiert.\n");
return 1;
}
if (n > 20) {
printf("Warnung: Die Fakultät für große Zahlen kann zu einem Integer-Überlauf führen.\n");
}
unsigned long long result = factorialLoop(n);
printFactorialDetails(n, result);
return 0;
}
Kompilieren und ausführen des Programms:
gcc factorial.c -o factorial
./factorial
Beispielausgabe:
Geben Sie eine nicht-negative ganze Zahl ein, um ihre Fakultät zu berechnen: 5
Details zur Fakultätsberechnung:
Zahl (n): 5
Fakultät (n!): 120
Fakultätserweiterung: 1 × 2 × 3 × 4 × 5 = 120
Wichtige Verbesserungen in dieser Version:
- Hinzufügen einer detaillierten Funktion
printFactorialDetails()
- Anzeige der vollständigen Fakultätserweiterung
- Einschließen einer Warnung für große Zahlen
- Bereitstellung einer klaren und informativen Ausgabe