c - average function returning nan -


i made program order data sets , display max, min, average, , median. had in main, decided clean bit making functions. average function working fund after adding few more value returned average in 'nan. suggestions? in advance guys

#include <stdio.h>  int findsize(); double findaverage(int size, double num[]); double findmedian(int size, double num[]); void findlowtohigh(int size, double num[]); void findhightolow(int size, double num[]);  int main() {  while(1)  {   int size = findsize();    if(size <= 1)   {    return 0;   }    double num[size];   double holder;   double lowest;   double highest;   double average;   double median;    fprintf(stdout, "\n");     for(int = 0; <= size - 1; i++)   {    int j = i+1;    fprintf(stdout, "please enter number %d: ", j);    fscanf(stdin, "%lf", &num[i]);   }    if(size > 1)   {    for(int y = 0; y < size - 1; y++)    {      for(int k = 0; k < size - 1; k++)     {      if(num[k] > num[k+1])      {        holder = num[k];       num[k] = num[k+1];       num[k+1] = holder;      }     }    }   }    findlowtohigh(size, num);    findhightolow(size, num);    average = findaverage(size, num);    median = findmedian(size, num);    fprintf(stdout, "\n\nlowest value: %3.4f", num[0]);   fprintf(stdout, "\nhighest value: %3.4f", num[size-1]);   fprintf(stdout, "\n\naverage value: %3.4f\n", average);     fprintf(stdout, "median value: %3.4f", median);    fprintf(stdout, "\n");  }  }  int findsize() {  int size;   fprintf(stdout, "\nplease enter size of array: ");  scanf("%d", &size);   return size; }  void findlowtohigh(int size, double num[]) {  fprintf(stdout, "\nfrom least greatest: ");   for(int x = 0; x <= size - 1; x++)  {   fprintf(stdout, "%3.2f ", num[x]);  } }  void findhightolow(int size, double num[]) {  fprintf(stdout, "\nfrom greatest least: ");   int reverse = size - 1;   while(reverse != -1)  {   fprintf(stdout, "%3.2f ", num[reverse]);   reverse--;  } }  double findaverage(int size, double num[]) {  double average;   for(int = 0; <= size - 1; a++)  {   average = average + num[a];  }   average = average / size;   return average; }   double findmedian(int size, double num[]) {  double median;   if(size % 2 == 0)  {   median = (num[size/2 - 1] + num[size/2])/2;  }  else  {   median = num[size/2];  }   return median; } 

you have initialize average. change to

double average=0; 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -