C Program to Sort Elements in Lexicographical Order (Dictionary Order)

C Programming Language / String in C Language

4156

Program:

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

int main()
{
    int i, j;
    char str[10][50], temp[50];

    printf("Enter 10 words:\n");

    for(i=0; i<10; ++i)
        scanf("%s[^\n]",str[i]);


    for(i=0; i<9; ++i)
        for(j=i+1; j<10 ; ++j)
        {
            if(strcmp(str[i], str[j])>0)
            {
                strcpy(temp, str[i]);
                strcpy(str[i], str[j]);
                strcpy(str[j], temp);
            }
        }

    printf("\nIn lexicographical order: \n");
    for(i=0; i<10; ++i)
    {
        puts(str[i]);
    }

    return 0;
}

Output:

Enter 10 words:
C
C++
Java
PHP
Python
Perl
Ruby
R
JavaScript
PHP

In lexicographical order: 
C
C++
Java
JavaScript
PHP
PHP
Perl
Python
R
Ruby

Explanation:

To solve this program, a two-dimensional string str is created.

This string can hold maximum of 10 strings and each string can have maximum of 50 characters (including null character).

To compare two strings, strcmp() function is used. Also, we used strcpy() function to copy string to a temporary string temp.


This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.