Palindrom mit Rekursion

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 mithilfe der Rekursion in der C-Programmiersprache überprüft, ob eine gegebene Zahl ein Palindrom ist. Ein Palindrom ist eine Sequenz, die, wenn sie umgedreht wird, genau wie die ursprüngliche Sequenz aussieht. Beispielsweise: abba, level, 999, etc.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FunctionsGroup(["Functions"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/ControlFlowGroup -.-> c/if_else("If...Else") c/FunctionsGroup -.-> c/function_declaration("Function Declaration") c/FunctionsGroup -.-> c/function_parameters("Function Parameters") c/FunctionsGroup -.-> c/recursion("Recursion") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/if_else -.-> lab-123297{{"Palindrom mit Rekursion"}} c/function_declaration -.-> lab-123297{{"Palindrom mit Rekursion"}} c/function_parameters -.-> lab-123297{{"Palindrom mit Rekursion"}} c/recursion -.-> lab-123297{{"Palindrom mit Rekursion"}} c/user_input -.-> lab-123297{{"Palindrom mit Rekursion"}} c/output -.-> lab-123297{{"Palindrom mit Rekursion"}} end

Erstellen einer Hauptfunktion

In der Datei main.c erstellen Sie eine Funktion main mit dem folgenden Codeblock. Sie erhält eine Ganzzahl von der Benutzerschaft und ruft dann die Funktion isPal auf, um zu überprüfen, ob die Zahl ein Palindrom ist oder nicht.

#include<stdio.h>
int isPal(int );
int n;
int main()
{
  printf("\nGeben Sie eine Zahl ein, um zu überprüfen, ob es ein Palindrom ist: ");
  scanf("%d", &n);
  isPal(n);
  return 0;
}

Erstellen der Funktion isPal mithilfe von Rekursion.

Die Funktion isPal nimmt eine Ganzzahl als Argument entgegen und gibt zurück, ob es sich um ein Palindrom handelt oder nicht. Sie verwendet Rekursion, um die Palindrombedingung zu überprüfen. Wenn die Palindrombedingung erfüllt ist, wird ein Wert von 1 zurückgegeben, was darauf hinweist, dass die eingegebene Zahl ein Palindrom ist; andernfalls wird 0 zurückgegeben.

int isPal(int aj)
{
    static int sum = 0;
    if(aj!= 0)
    {
        sum = sum *10 + aj%10;
        isPal(aj/10);
    }
    else if(sum == n)
        printf("%d ist ein Palindrom.\n",n);
    else
        printf("%d ist kein Palindrom.\n",n);
    return 0;
}

Kompilieren und Ausführen des Codes

Kompilieren Sie den Code mit dem folgenden Befehl: gcc -o main main.c

Führen Sie den Code mit dem folgenden Befehl aus: ./main

Geben Sie die Zahl ein, die überprüft werden soll, ob es sich um ein Palindrom handelt oder nicht.

Programmausgabe

Die Ausgabe des Programms wird anzeigen, ob die eingegebene Zahl ein Palindrom ist oder nicht.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit einem C-Programm mithilfe von Rekursion überprüft, ob eine gegebene Zahl ein Palindrom ist. Ein Palindrom ist ein wichtiges Konzept in der Informatik und wird in verschiedenen Anwendungen verwendet, einschließlich von String-Matching-Algorithmen. Wir hoffen, dass dieses Lab dazu beigetragen hat, die Rekursion und die Konzepte der C-Programmiersprache zu verstehen.