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?



C Programming: Tips of the Day

How to measure time in milliseconds using ANSI C?

There is no ANSI C function that provides better than 1 second time resolution but the POSIX function gettimeofday provides microsecond resolution. The clock function only measures the amount of time that a process has spent executing and is not accurate on many systems.

You can use this function like this:

structtimevaltval_before, tval_after, tval_result;

gettimeofday(&tval_before, NULL);

// Some code you want to time, for example:
sleep(1);

gettimeofday(&tval_after, NULL);

timersub(&tval_after, &tval_before, &tval_result);

printf("Time elapsed: %ld.%06ld\n", (long int)tval_result.tv_sec, (long int)tval_result.tv_usec);

This returns Time elapsed: 1.000870 on my machine.

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