Drucken Sie das Ergebnis
In diesem letzten Schritt verbessern Sie das Polynomauswertungsprogramm, indem Sie formatierte Ausgabe und Fehlerbehandlung hinzufügen, um die Benutzererfahrung zu verbessern.
Öffnen Sie die zuvor erstellte C-Datei und aktualisieren Sie sie mit einer verbesserten Ergebnisausgabe:
cd ~/project
nano polynomial_eval.c
Aktualisieren Sie den Code mit formatierter Ergebnisausgabe und Eingabeprüfung:
#include <stdio.h>
#define MAX_DEGREE 10
double hornerMethod(int degree, double coefficients[], double x) {
double result = coefficients[degree];
for (int i = degree - 1; i >= 0; i--) {
result = result * x + coefficients[i];
}
return result;
}
void printPolynomial(int degree, double coefficients[]) {
printf("Polynom: ");
for (int i = degree; i >= 0; i--) {
if (coefficients[i]!= 0) {
if (i == degree) {
printf("%.2fx^%d ", coefficients[i], i);
} else if (i > 1) {
printf("%+.2fx^%d ", coefficients[i], i);
} else if (i == 1) {
printf("%+.2fx ", coefficients[i]);
} else {
printf("%+.2f", coefficients[i]);
}
}
}
printf("\n");
}
int main() {
int degree;
double coefficients[MAX_DEGREE + 1];
double x, result;
// Eingabeprüfung
do {
printf("Geben Sie den Grad des Polynoms (0-10) ein: ");
scanf("%d", °ree);
} while (degree < 0 || degree > MAX_DEGREE);
printf("Geben Sie die Koeffizienten von höchstem Grad bis zum Konstantenglied ein:\n");
for (int i = degree; i >= 0; i--) {
printf("Koeffizient für x^%d: ", i);
scanf("%lf", &coefficients[i]);
}
printf("Geben Sie den Wert von x ein: ");
scanf("%lf", &x);
// Drucken Sie die Polynomdetails
printPolynomial(degree, coefficients);
// Werten Sie das Polynom mit der Horner-Methode aus
result = hornerMethod(degree, coefficients, x);
// Formatierte Ergebnisausgabe
printf("Polynomauswertung:\n");
printf("P(x) = f(%.2f) = %.2f\n", x, result);
return 0;
}
Kompilieren und führen Sie das aktualisierte Programm aus:
gcc polynomial_eval.c -o polynomial_eval
./polynomial_eval
Beispielausgabe:
Geben Sie den Grad des Polynoms (0-10) ein: 3
Geben Sie die Koeffizienten von höchstem Grad bis zum Konstantenglied ein:
Koeffizient für x^3: 2
Koeffizient für x^2: -3
Koeffizient für x^1: 0
Koeffizient für x^0: 5
Geben Sie den Wert von x ein: 2
Polynom: 2.00x^3 -3.00x^2 +5.00
Polynomauswertung:
P(x) = f(2.00) = 11.00
Wichtige Verbesserungen:
- Hinzugefügt die
printPolynomial()
-Funktion, um das Polynom anzuzeigen
- Implementiert die Eingabeprüfung für den Polynomgrad
- Verbessert die Ergebnisausgabe mit formatierter Ausgabe
- Zeigt sowohl das Polynom als auch seinen ausgewerteten Wert an