Lineare Gleichung (ax + b = 0) in C lösen

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie eine lineare Gleichung der Form ax + b = 0 mit C-Programmierung lösen. Sie beginnen damit, die Koeffizienten a und b vom Benutzer einzulesen, berechnen dann die Lösung x mit der Formel x = -b/a, wobei sichergestellt wird, dass der Koeffizient a nicht Null ist. Schließlich geben Sie die Lösung aus oder weisen darauf hin, dass keine Lösung existiert.

Das Lab behandelt die grundlegenden Konzepte algebraischer Ausdrücke und deren Implementierung in C. Am Ende dieses Labs haben Sie ein solides Verständnis dafür, wie Sie einfache lineare Gleichungen programmatisch lösen.

Koeffizienten a und b einlesen

In diesem Schritt lernen Sie, wie Sie die Koeffizienten a und b zum Lösen einer linearen Gleichung in C einlesen. Wir erstellen ein einfaches Programm, das den Benutzer nach den Koeffizienten fragt und diese in Variablen speichert.

Erstellen Sie zunächst eine neue C-Datei im Projektverzeichnis:

cd ~/project
nano linear_equation.c

Geben Sie nun den folgenden Code ein, um die Koeffizienten einzulesen:

#include <stdio.h>

int main() {
    double a, b;

    // Benutzer nach dem Koeffizienten a fragen
    printf("Geben Sie den Koeffizienten a ein (darf nicht Null sein): ");
    scanf("%lf", &a);

    // Benutzer nach dem Koeffizienten b fragen
    printf("Geben Sie den Koeffizienten b ein: ");
    scanf("%lf", &b);

    // Die eingegebenen Koeffizienten ausgeben
    printf("Koeffizient a: %.2f\n", a);
    printf("Koeffizient b: %.2f\n", b);

    return 0;
}

Kompilieren und ausführen Sie das Programm:

gcc linear_equation.c -o linear_equation
./linear_equation

Beispielausgabe:

Geben Sie den Koeffizienten a ein (darf nicht Null sein): 2
Geben Sie den Koeffizienten b ein: 4
Koeffizient a: 2.00
Koeffizient b: 4.00

Zerlegung des Codes:

  • Wir verwenden double, um Dezimalwerte für die Koeffizienten zuzulassen.
  • printf() wird verwendet, um den Benutzer nach der Eingabe zu fragen.
  • scanf() liest die Benutzereingabe und speichert sie in den Variablen a und b.
  • Wir geben die eingegebenen Koeffizienten aus, um zu bestätigen, dass sie korrekt gelesen wurden.

Compute x = -b/a (Check if a ≠ 0)

In this step, you will modify the previous program to compute the solution of the linear equation ax + b = 0, with a special focus on handling the case when a is zero.

Open the previous file and update the code:

cd ~/project
nano linear_equation.c

Replace the contents with the following code:

#include <stdio.h>

int main() {
    double a, b, x;

    // Prompt user to enter coefficient a
    printf("Enter coefficient a (must not be zero): ");
    scanf("%lf", &a);

    // Check if a is zero
    if (a == 0) {
        printf("Error: Coefficient 'a' cannot be zero.\n");
        return 1;
    }

    // Prompt user to enter coefficient b
    printf("Enter coefficient b: ");
    scanf("%lf", &b);

    // Compute solution x
    x = -b / a;

    // Print the solution
    printf("Solution of the equation %.2fx + %.2f = 0:\n", a, b);
    printf("x = %.2f\n", x);

    return 0;
}

Compile and run the program:

gcc linear_equation.c -o linear_equation
./linear_equation

Example output for a valid input:

Enter coefficient a (must not be zero): 2
Enter coefficient b: 4
Solution of the equation 2.00x + 4.00 = 0:
x = -2.00

Example output for an invalid input (a = 0):

Enter coefficient a (must not be zero): 0
Error: Coefficient 'a' cannot be zero.

Key points in this code:

  • We add a check to ensure a is not zero before computing the solution
  • If a is zero, we print an error message and exit the program
  • The solution x is computed using the formula x = -b/a
  • We use %.2f to format the output to two decimal places

Berechnung von x = -b/a (Prüfung, ob a ≠ 0)

In diesem Schritt erweitern Sie das vorherige Programm, um die Lösung der linearen Gleichung ax + b = 0 zu berechnen, wobei Sie sich besonders auf den Fall konzentrieren, wenn a gleich Null ist.

Öffnen Sie die vorherige Datei und aktualisieren Sie den Code:

cd ~/project
nano linear_equation.c

Ersetzen Sie den Inhalt durch folgenden Code:

#include <stdio.h>

int main() {
    double a, b, x;

    // Benutzer nach dem Koeffizienten a fragen
    printf("Geben Sie den Koeffizienten a ein (darf nicht Null sein): ");
    scanf("%lf", &a);

    // Überprüfen, ob a gleich Null ist
    if (a == 0) {
        printf("Fehler: Der Koeffizient 'a' darf nicht Null sein.\n");
        return 1;
    }

    // Benutzer nach dem Koeffizienten b fragen
    printf("Geben Sie den Koeffizienten b ein: ");
    scanf("%lf", &b);

    // Berechne die Lösung x
    x = -b / a;

    // Geben Sie die Lösung aus
    printf("Lösung der Gleichung %.2fx + %.2f = 0:\n", a, b);
    printf("x = %.2f\n", x);

    return 0;
}

Kompilieren und ausführen Sie das Programm:

gcc linear_equation.c -o linear_equation
./linear_equation

Beispielausgabe für eine gültige Eingabe:

Geben Sie den Koeffizienten a ein (darf nicht Null sein): 2
Geben Sie den Koeffizienten b ein: 4
Lösung der Gleichung 2.00x + 4.00 = 0:
x = -2.00

Beispielausgabe für eine ungültige Eingabe (a = 0):

Geben Sie den Koeffizienten a ein (darf nicht Null sein): 0
Fehler: Der Koeffizient 'a' darf nicht Null sein.

Wichtige Punkte in diesem Code:

  • Wir fügen eine Überprüfung hinzu, um sicherzustellen, dass a nicht Null ist, bevor die Lösung berechnet wird.
  • Wenn a Null ist, geben wir eine Fehlermeldung aus und beenden das Programm.
  • Die Lösung x wird mithilfe der Formel x = -b/a berechnet.
  • Wir verwenden %.2f, um die Ausgabe auf zwei Dezimalstellen zu formatieren.

Zusammenfassung

In diesem Labor haben Sie gelernt, wie man die Koeffizienten a und b zum Lösen einer linearen Gleichung in C liest. Sie haben ein einfaches Programm erstellt, das den Benutzer auffordert, die Koeffizienten einzugeben, und diese in Variablen speichert. Sie haben auch gelernt, wie man die Lösung der linearen Gleichung ax + b = 0 berechnet, wobei Sie sich besonders auf den Fall konzentriert haben, wenn a gleich Null ist. Das Programm prüft, ob a gleich Null ist, und gibt eine Fehlermeldung aus, wenn dies der Fall ist. Andernfalls berechnet es die Lösung x = -b/a und gibt sie aus.