In this tutorial, i am going to show you how to find second smallest number in an array in c program.

## Algorithm to Find Second Smallest Number in an Array

Follow the below given algorithm to write a program to find second smallest number in an array; as follows:

- Start Program
- Declare an array and some variables.
- Take input the array elements from user.
- Find the smallest element (first_smallest) in the array in the first traversal.
- Find the smallest element (second_smallest) by skipping the first_smallest element.
- Display second_smallest.
- End Program.

## C Program to Find Second Smallest Number in an Array

#include <stdio.h> #include <limits.h> int main() { int arr[50], n, i; //Enter the size of an array printf("Enter the size of an array (Max 50) \n"); scanf("%d", &n); printf("Enter an array elements\n"); //Input array values for(i = 0; i < n; i++) { scanf("%d", &arr[i]); } //Intialize variable with max int value int smallest = INT_MAX; int secondSmallest = INT_MAX; //Traverse an array for(i = 0; i < n; i++) { //If element is smaller if(arr[i] < smallest) { secondSmallest = smallest; smallest = arr[i]; } if(arr[i] > smallest && arr[i] < secondSmallest) { secondSmallest = arr[i]; } } printf("Second smallest %d", secondSmallest); return 0; }

The result of the above c program; is as follows:

Enter the size of an array (Max 50) 5 Enter an array elements 1 2 4 5 45 Second smallest 2