C Program to find the Biggest and Smallest number and its location

Given an array of integer numbers we sometimes need to find the largest and the smallest number from the array. This is not a problem if the array is already sorted in ascending or descending order.

This program finds the biggest and the smallest number from a given array of integers and also tell the index value (location) of those values.

We have used Dev-C++ compiler installed on a windows 7 64-bit computer to run the program. You can do the same or use any other ANSI standard C compiler to run the program. The program is intended for beginners of C programming language.

Problem Definition

you are given an array of unsorted integers and you want to solve two problems.

  1. Find biggest number
  2. Find smallest number

To solve this problem very easily by

  1. Assigning the first number from the array as the smallest number. You do not know yet, if this is the smallest number, we are just assuming it is.
  2. Compare this smallest assumed value with other elements of the array and if you encounter another smaller value than the current smallest value, the new value becomes the smallest.
  3. Then the process repeats itself, until search procedure is exhausted.

To find the biggest number do the same thing except the first value is assumed to be the largest value in the array.

Flowchart – Find Biggest and Smallest Number

Flowchart - Find Biggest and Smallest Number
Flowchart – Find Biggest and Smallest Number

Program Code

/* program to find the biggest and smallest number in an array of numbers.*/

#include <stdio.h>
#include <conio.h>
#define SIZE 100 main() {

/* declare variables array, smallest, biggest ,location_smallest,location_biggest,array_size,i*/

    int array_of_number[SIZE];
    int big_num,small_num,loc_small,loc_big;
    int i,n;

/* Get the size of the array input */


/* Get the Array elements */

    printf("GET THE ARRAY ELEMENTS:");

    for(i=1;i<=n;i++) {

        scanf("%d",&array_of_number[i]); }

/* Search for the biggest Number and it's location */

    big_num = array_of_number[1];

    for(i=1;i<=n;i++) {

        if(big_num <= array_of_number[i]) {

            big_num = array_of_number[i];
            loc_big = i;


printf("The Biggest Number is %d at location = %d\n",big_num,loc_big);

/* Find smallest number and it's location */

    small_num = array_of_number[1];

for(i=1;i<=n;i++) {

    if(small_num >= array_of_number[i]) {
        small_num = array_of_number[i];
        loc_small = i;


printf("The smallest Number is %d at location = %d\n",small_num,loc_small);


return 0;



Output - Find Biggest and Smallest Number
Output – Find Biggest and Smallest Number