/*
* 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 <stdio.h>
void printArray(int arrayToPrint[], int arrayLength) {
int i;
printf("The numbers of the sorted array are given below \n");
for (i = 0; i < arrayLength; ++i) {
printf("%d\n", arrayToPrint[i]);
}
}
void sortArray(int arrayToSort[30], int arrayLength) {
int i, j, temp;
for (i = 0; i < arrayLength; ++i) {
for (j = i + 1; j < arrayLength; ++j) {
if (arrayToSort[i] < arrayToSort[j]) {
temp = arrayToSort[i];
arrayToSort[i] = arrayToSort[j];
arrayToSort[j] = temp;
}
}
}
}
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]);
printArray(number, n);
sortArray(number, n);
printArray(number, n);
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 array which is \n",
number[1], number[n - 2], number[counter], counter);
}
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.