Das Finden der Fakultät einer Zahl in C

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 werden wir lernen, wie man ein C-Programm schreibt, um die Fakultät einer Zahl zu berechnen. Wir werden einen einfachen Algorithmus verwenden, um die Fakultät mit einer Schleife zu berechnen.

Hinweis: Sie müssen die Datei ~/project/main.c selbst erstellen, um zu üben, wie man codiert und wie man es mit gcc kompiliert und ausführt.

cd ~/project
## main.c erstellen
touch main.c
## main.c kompilieren
gcc main.c -o main
## main ausführen
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FunctionsGroup -.-> c/math_functions("Math Functions") c/FunctionsGroup -.-> c/recursion("Recursion") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} c/for_loop -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} c/function_declaration -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} c/math_functions -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} c/recursion -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} c/user_input -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} c/output -.-> lab-123240{{"Das Finden der Fakultät einer Zahl in C"}} end

Fakultät verstehen

Die Fakultät (bezeichnet als n!) für eine Zahl (z. B. n) ist das Produkt aller Zahlen vor n mit der Zahl selbst. Wir können sagen, dass

!n = n *!(n - 1)

Beispielsweise:

!6 = 6 * 5 * 4 * 3 * 2 * 1 = 720
!12 = 12 * 11 * 10 * 9 * 8 * 7 *!6 = 479.001.600

Wichtige Punkte:

  • Die Fakultät von 0 ist 1.
  • Die Fakultät negativer Zahlen existiert nicht.

Das Algorithmus schreiben

Hier sind die Schritte, die für das Fakultäts-Programm zu befolgen sind:

  1. Deklariere Variablen n und fact = 1. n ist die Zahl, deren Fakultät berechnet werden soll, und fact ist die Variable, in der wir das Ergebnis speichern werden.
  2. Lese die Eingabe vom Benutzer in n.
  3. Initialisiere den Schleifeniterator i = 1 und führe die Schleife aus, bis i <= n.
  4. Führe in jeder Iteration der Schleife das Folgende aus:
    • fact = fact * i
    • i++
  5. Drucke fact.

Das C-Programm schreiben

In diesem Programm werden wir eine for-Schleife verwenden, um die Fakultät einer Zahl zu berechnen.

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Geben Sie die Zahl ein: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // Fakultät berechnen
    }
    printf("Fakultät von %d ist %ld",n,fact);
    return 0;
}

Das Programm testen

Lassen Sie uns unser Programm testen, indem wir es ausführen und die Ausgabe überprüfen.

Geben Sie die Zahl ein: 5
Fakultät von 5 ist 120

Endgültiges Programm

Hier ist das endgültige Programm, das die Fakultät einer Zahl mit einer for-Schleife berechnet:

#include<stdio.h>
int main()
{
    int n,i;
    long int fact=1;
    printf("Geben Sie die Zahl ein: ");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        fact=fact*i;    // Fakultät berechnen
    }
    printf("Fakultät von %d ist %ld",n,fact);
    return 0;
}

Zusammenfassung

In diesem Lab haben wir gelernt, wie man ein C-Programm schreibt, um die Fakultät einer Zahl mit einer for-Schleife zu berechnen. Wir haben einen einfachen Algorithmus verwendet und einen schrittweisen Prozess verfolgt, um unser Ziel zu erreichen. Das Programm nimmt eine Eingabe vom Benutzer entgegen, berechnet die Fakultät mit einer Schleife und druckt das Ergebnis auf dem Bildschirm aus. Wir haben einige wichtige Punkte behandelt, wie die Initialisierung von Variablen und die Grenzen der Datentypen int und long int.