/*This C Program finds second largest & smallest elements in an array. The program sorts the array in an descending order. Then it finds the second largest and smallest element in an array and also find the average of an array element. Later it checks if the resultant average number is present in a given array. If found, display appropriate message.*/ /* * C program to accept a list of data items and find the second largest * and smallest elements in it. Compute the average of both and search * for the average value if it is present in the array. * Display appropriate message on successful search. */ #include void main () { int number[30]; int i, j, a, n, counter, average; printf("Enter the value of N\n"); scanf("%d", &n); printf("Enter the numbers \n"); for (i = 0; i < n; ++i) scanf("%d", &number[i]); for (i = 0; i < n; ++i) { for (j = i + 1; j < n; ++j) { if (number[i] < number[j]) { a = number[i]; number[i] = number[j]; number[j] = a; } } } printf("The numbers arranged in descending order are given below \n"); for (i = 0; i < n; ++i) { printf("%d\n", number[i]); } printf("The 2nd largest number is = %d\n", number[1]); printf("The 2nd smallest number is = %d\n", number[n - 2]); average = (number[1] + number[n - 2]) / 2; counter = 0; for (i = 0; i < n; ++i) { if (average == number[i]) { ++counter; } } if (counter == 0 ) printf("The average of %d and %d is = %d is not in the array \n", number[1], number[n - 2], average); else printf("The average of %d and %d in array is %d in numbers \n", number[1], number[n - 2], counter); } /* Enter the value of N 4 Enter the numbers 450 340 120 670 The numbers arranged in descending order are given below 670 450 340 120 The 2nd largest number is = 450 The 2nd smallest number is = 340 The average of 450 and 340 is = 395 is not in the array