Q:

Write a C program to find second largest number in an array

0

Write a C program to find second largest number in an array. Here’s simple program to find second largest number in an array in C Programming Language.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

What is an Array ?


Arrays a kind of data structure that can store a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.

 
 

Instead of declaring individual variables, such as number0, number1, …, and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and …, numbers[99] to represent individual variables. A specific element in an array is accessed by an index.

All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.


Here is source code of the C program to find second largest number in an array. The C program is successfully compiled and run(on Codeblocks) on a Windows system. The program output is also shown in below.

 

SOURCE CODE : :

/* C program to find second largest number in an array  */

#include <stdio.h>
#include <limits.h> //For INT_MIN

#define MAX_SIZE 1000

int main()
{
    int arr[MAX_SIZE], N, i;
    int max1, max2;

    /*
     * Reads size and elements in the array
     */
    printf("Enter size of the array (1-1000): ");
    scanf("%d", &N);
    printf("\nEnter %d elements in the array: \n",N);
    for(i=0; i<N; i++)
    {
        printf("\nEnter %d element in an array: ",i+1);
        scanf("%d", &arr[i]);
    }

    max1 = max2 = INT_MIN;

    /*
     * Checks for first largest and second largest till N
     */
    for(i=0; i<N; i++)
    {
        if(arr[i] > max1)
        {
            /*
             * If current element of the array is first largest
             * then make current max as second max
             * and then max as current array element
             */
            max2 = max1;
            max1 = arr[i];
        }
        else if(arr[i] > max2)
        {
            /*
             * If current array element is less than first largest
             * but is greater than second largest then make it
             * second largest
             */
            max2 = arr[i];
        }
    }

    printf("\nFirst largest = %d\n", max1);
    printf("\nSecond largest = %d", max2);

    return 0;
}

OUTPUT : :


Enter size of the array (1-1000): 6

Enter 6 elements in the array:

Enter 1 element in an array: 4

Enter 2 element in an array: 2

Enter 3 element in an array: 7

Enter 4 element in an array: 9

Enter 5 element in an array: 5

Enter 6 element in an array: 6

First largest = 9

Second largest = 7

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C Arrays Solved Programs – C Programming

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C program to copy elements of one array to another... >>
<< C program to find maximum and minimum element in a...