I have to write a program in C that reads an array with n elements and then displays how many elements are bigger than the average of the elements of the vector.Is there any other way to do this in a shorter or simpler way?#include <stdio.h>#include <stdlib.h>#define SIZE 100void readArray(int [] , int );double findAverage(int [] , int);int countAboveAverage(int [] , int , double);int main(int argc, char* argv []) {//declare an array of size 100int arr[SIZE];int n;printf(Enter a value for n: );scanf(%d, &n);if(n==0) {fprintf(stderr, Your size of n is too big. Run the program again.\n);exit(1);}//this function will do the readingreadArray(arr, n);//this is a function to find the averagedouble average = findAverage(arr, n);//this is a function that will count the number above averageint count = countAboveAverage(arr, n, average);printf(The number of elements above the average is %d:);return EXIT_SUCCESS;}void readArray(int arr[], int n) {int i;for(i=0; i<n; i++) {printf(Please enter #%d: , i+1);scanf(%d, arr + i); /* or &arr[i] */}}double findAverage(int arr[], int n) {int sum = 0;int i;for(i=0; i<n; i++)sum+=arr[i];return (double)sum / n;}int countAboveAverage(int arr[], int n, double average) {int count=0;int i;for(i=0; i<n; i++)count = arr[i] > average ? count+1: count;return count;}
Displaying the number of elements larger than the average of an array
c;array