Das Finden der Fakultät einer Zahl in C

CBeginner
Jetzt üben

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

Das Verständnis der Fakultät

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 Schreiben des Algorithmus

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 Schreiben des C-Programms

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 Testen des Programms

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.