Skip to content
Home » C program to find second largest number in an array

C program to find second largest number in an array

Below is the code to find the largest and second largest number in an array

#include <stdio.h>
int main(){
    int n;
    printf("Enter number of elements do you want to enter:");
    scanf("%d",&n);
    int arr[n],i;
    printf("\nEnter elements of an array ");
    for(i=0;i<n;i++){
        scanf("%d",&arr[i]);
    }
    int m1,m2;
    m1=m2=arr[0];
    for(i=0;i<n;i++){
        if(arr[i]>m1){
            m2=m1;
            m1=arr[i];
        }
        else if(arr[i]>m2 && arr[i]!=m1){
            m2=arr[i];
        }
    }
    printf("First largest number is %d\n",m1);
    printf("Second largest number is %d",m2);
    return 0;
}

Output:

Enter number of elements do you want to enter:6
Enter elements of an array 2
7
9
5
7
2
First largest number is 9
Second largest number is 7