How to write C program to sort elements in ascending order

C Ascending Order

What is Ascending order?

Mathematically, when certain sets of numbers are arranged from smallest number to the largest number then they are said to be ascending order.
Sounding as a programmer, ascending order can only be performed in array data type, because array is the only place where you can store certain sets of data in a consecutive memory location for future use.
Ascending Order in C

C Program - Ascending Order

Lets code ascending order in C and have fun.
c-ascending-order.c
#include <stdio.h>
int main()
{
int i, j, n, a[30], temp = 0;
printf("\nEnter a limit : ");
scanf("%d", &n);
printf("\nEnter %d Numbers to sort :",n);
for(i = 0;i < n;i++)
scanf("%d", &a[i]);
for(i = 0;i < n-1;i++)
{
for(j = i;j < n;j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("\n----Ascending Order----");
for(i = 0;i < n;i++)
printf("%d ", a[i]);
return 0;
}
Enter a limit : 5
Enter Numbers to sort : 27 24 29 22 26
----Ascending Order----
22 24 26 27 29

Note:

First of all, we ask our user to enter a limit, then we use an array to get the user entered input. Now we have an array of all user entered number. Now it's time to arrange all user entered input in an ascending order. For that we use 2 things.
  • 2 for loops
  • temperary variable called temp
First for loop is used to hold the first value in a[] array. Second for loop is used to scan the numbers in a[] from 1st element to last element. If the number in a[i] is greater than a[j] then swapping is done by using our temperary variable temp. This kind of swapping of two numbers in an array is said to be bubble sort algorithm.

Post a Comment

0 Comments