Vérification des palindromes en C

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à écrire un programme C pour vérifier si un nombre est un palindrome ou non. Nous allons le faire en suivant les étapes données.

Note: Vous devez créer le fichier ~/project/main.c vous-même pour pratiquer la programmation et apprendre à le compiler et à l'exécuter avec gcc.

cd ~/project
## créer main.c
touch main.c
## compiler main.c
gcc main.c -o main
## exécuter main
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/operators("Operators") c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/while_loop("While Loop") c/CompoundTypesGroup -.-> c/strings("Strings") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123295{{"Vérification des palindromes en C"}} c/operators -.-> lab-123295{{"Vérification des palindromes en C"}} c/if_else -.-> lab-123295{{"Vérification des palindromes en C"}} c/while_loop -.-> lab-123295{{"Vérification des palindromes en C"}} c/strings -.-> lab-123295{{"Vérification des palindromes en C"}} c/user_input -.-> lab-123295{{"Vérification des palindromes en C"}} c/output -.-> lab-123295{{"Vérification des palindromes en C"}} end

Comprendre les palindromes

Un palindrome est un nombre ou une chaîne de caractères qui se lit de la même manière dans les deux sens. Par exemple : 121 ou "racecar".

Initialisation des variables

Nous commençons par initialiser les variables requises pour le programme. Dans le programme donné, nous avons utilisé quatre variables, a, b, c, s. Nous allons utiliser ces variables pour effectuer les opérations requises.

#include<stdio.h>

int main()
{
    int a, b, c, s = 0;
    printf("Entrez un nombre : ");
    scanf("%d", &a);
    c = a;
}

Inversion du nombre

Nous inversons le nombre afin de pouvoir le comparer avec le nombre original pour vérifier s'il s'agit d'un palindrome ou non. Nous utilisons une boucle while pour inverser le nombre.

while(a > 0)
{
    b = a % 10; //extrait le dernier chiffre
    s = (s * 10) + b; //ajoute le dernier chiffre au nombre inversé
    a = a / 10; //supprime le dernier chiffre du nombre original
}

Comparaison du nombre original avec le nombre inversé

Enfin, nous comparons le nombre inversé avec le nombre original pour vérifier s'il s'agit d'un palindrome ou non.

if(s == c)
{
    printf("%d est un palindrome", c);
}
else
{
    printf("%d n'est pas un palindrome", c);
}

Code complet

Voici le code complet du programme :

#include<stdio.h>

int main()
{
    int a, b, c, s = 0;

    printf("Entrez un nombre : ");
    scanf("%d", &a);
    c = a;

    while(a > 0)
    {
        b = a % 10;
        s = (s * 10) + b;
        a = a / 10;
    }

    if(s == c)
    {
        printf("%d est un palindrome", c);
    }
    else
    {
        printf("%d n'est pas un palindrome", c);
    }

    return 0;
}

Sommaire

Dans ce laboratoire, nous avons appris à écrire un programme C pour vérifier si un nombre est un palindrome ou non. Nous avons appris la logique derrière la vérification des palindromes et l'avons mise en œuvre dans le programme. Nous avons maintenant une meilleure compréhension de ce concept et pouvons désormais l'appliquer à des programmes plus complexes.