C Program to find the second largest number in the array

#include<stdio.h>
void read(int a[50],int n);
void display(int a[50],int n);
int largest(int a[50],int n);
int main()
{
   int a[50],n,max;
   printf("Enter the size of the array\n");
   scanf("%d",&n);
   printf("Enter the array elements\n");
   read(a,n);
   printf("The array elements are\n");
   display(a,n);
   max=largest(a,n);
   printf("\nThe second largest number in the array is: %d",max);
}
void read(int a[50],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
}
void display(int a[50],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("%d\t",a[i]);
    }
}
int largest(int a[50],int n)
{
    int large=a[0],i,max_index;
    for(i=0;i<n;i++)
    {
        if(a[i]>=large)
        {
            large=a[i];
            max_index=i;
        }
    }
    int small=a[max_index+1];
    for(i=0;i<n;i++)
    {
        if(i==max_index)
        {

        }
        else{
            if(a[i]>small)
            {
                small=a[i];
            }
        }
    }
    return small;
}


Output:
         C Program to find the second largest number in the array

Comments