w3resource

C Programming: Sorts the strings of an array using bubble sort

C String: Exercise-12 with Solution

Write a program in C to read a string through keyboard and sort it using bubble sort.

C Programming: Sorts the strings of an array using bubble sort

Sample Solution:

C Code:

#include <stdio.h>
#include <string.h>
void main()
{
  char name[25][50],temp[25];
  int n,i,j;
  
       printf("\n\nSorts the strings of an array using bubble sort :\n");
       printf("-----------------------------------------------------\n");  
  
 
  printf("Input number of strings :");
  scanf("%d",&n);

printf("Input string %d :\n",n);
  for(i=0;i<=n;i++)
  {
       
       fgets(name[i], sizeof name, stdin);
  }
     /*Logic Bubble Sort*/

     for(i=1;i<=n;i++)
	for(j=0;j<=n-i;j++)
	  if(strcmp(name[j],name[j+1])>0)
	  { 
            strcpy(temp,name[j]);
	    strcpy(name[j],name[j+1]);
	    strcpy(name[j+1],temp);
	  }
   printf("The strings appears after sorting :\n");
	      for(i=0;i<=n;i++)
		 printf("%s\n",name[i]);
 
} 

Sample Output:

Sorts the strings of an array using bubble sort :                                                             
-----------------------------------------------------                                                         
Input number of strings :3                                                                                    
Input string 3 :                                                                                              
zero                                                                                                          
one                                                                                                           
two                                                                                                           
The strings appears after sorting :                                                                           
                                                                                                       
one                                                                                                           
                                                                                                              
two                                                                                                           
                                                                                                              
zero

Flowchart :

Flowchart: Sorts the strings of an array using bubble sort

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a C program to sort a string array in ascending order.
Next: Write a program in C to extract a substring from a given string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



C Programming: Tips of the Day

Is there a way to specify how many characters of a string to print out using printf()?

The basic way is:

printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");

The other, often more useful, way is:

printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");

Here, you specify the length as an int argument to printf(), which treats the '*' in the format as a request to get the length from an argument.

You can also use the notation:

printf ("Here are the first 8 chars: %*.*s\n",
        8, 8, "A string that is more than 8 chars");

This is also analogous to the "%8.8s" notation, but again allows you to specify the minimum and maximum lengths at runtime - more realistically in a scenario like:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);

The POSIX specification for printf() defines these mechanism

Ref : https://bit.ly/3u32GyO