C program to sort names in alphabetical order with string functions.

CServer Side ProgrammingProgramming

Problem

Sort the names given by the user at runtime in an alphabetical order by using the bubble sort technique.

Solution

The logic used to print the names in alphabetical order is as follows −

for (i=1; i < ITEMS; i++){
   for (j=1; j <= ITEMS-i ; j++){
      if (strcmp (string[j-1], string[j]) > 0){ /* Exchange of contents */
         strcpy (dummy, string[j-1]);
         strcpy (string[j-1], string[j]);
         strcpy (string[j], dummy );
      }
   }
}

Example

Following is the C program to sort the names in an alphabetical order by using the string functions −

 Live Demo

#define ITEMS 5
#define MAXCHAR 20
main( ){
   char string[ITEMS][MAXCHAR], dummy[MAXCHAR];
   int i = 0, j = 0;
   /* Reading the list */
   printf ("Enter names of %d items \n ",ITEMS);
   while (i < ITEMS)
   scanf ("%s", string[i++]);
   /* Sorting begins */
   for (i=1; i < ITEMS; i++){
      for (j=1; j <= ITEMS-i ; j++){
         if (strcmp (string[j-1], string[j]) > 0){ /* Exchange of contents */
            strcpy (dummy, string[j-1]);
            strcpy (string[j-1], string[j]);
            strcpy (string[j], dummy );
         }
      }
   }
   printf ("\nAlphabetical list \n\n");
   for (i=0; i < ITEMS ; i++)
   printf ("%s\n", string[i]);
}

Output

When the above program is executed, it produces the following output −

Enter names of 5 items
computers
architecture
organization
microprocessor
networking
Alphabetical list
architecture
computers
microprocessor
networking
organization
raja
Published on 26-Mar-2021 06:42:54
Advertisements