﻿ C exercises: Sorts the strings of an array using bubble sort - 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. Sample Solution:

C Code:

``````#include <stdio.h>
#include <string.h>
void main()
{
char name,temp;
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 : C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

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