Programme C pour trier les éléments dans l’ordre lexicographique (ordre du dictionnaire)

Trier les chaînes dans l’ordre du dictionnaire

 #include <stdio.h>
#include <string.h>

int main() {
   char str[5][50], temp[50];
   printf("Enter 5 words: ");

   // Getting strings input
   for (int i = 0; i < 5; ++i) {
      fgets(str[i], sizeof(str[i]), stdin);
   }

   // storing strings in the lexicographical order
   for (int i = 0; i < 5; ++i) {
      for (int j = i + 1; j < 5; ++j) {

         // swapping strings if they are not in the lexicographical order
         if (strcmp(str[i], str[j]) > 0) {
            strcpy(temp, str[i]);
            strcpy(str[i], str[j]);
            strcpy(str[j], temp);
         }
      }
   }

   printf("\nIn the lexicographical order: \n");
   for (int i = 0; i < 5; ++i) {
      fputs(str[i], stdout);
   }
   return 0;
} 

Production

Entrez 5 mots: programmation R
JavaScript
Java
Programmation C
Programmation C ++

Dans l'ordre lexicographique:
Programmation C
Programmation C ++
Java
JavaScript
Programmation R

Pour résoudre ce programme, une chaîne à deux dimensions nomméestrest créé. La chaîne peut contenir un maximum de 5 chaînes et chaque chaîne peut avoir un maximum de 50 caractères (y compris le null