Как исправить вывод результатов функций, чтобы выдавало ожидаемые значения?

Нужно из массива до 10 чисел найти экстремумы (max и min), математическое ожидание и дисперсию, считая, что мы имеем дело с дискретным равномерным распределением).

#include <stdlib.h>
#include <math.h>
#define NMAX 10

int input (int *a, int *n);

void output (int *a, int n);

int max (int *a, int n);

int min (int *a, int n);

double mean (int *a, int n);

double variance (int *a, int n);

double output_result (int max_v, int min_v, double mean_v, double variance_v);

int main ()
{
  int n, data[NMAX];
  if (input (data, &n) != 0)
    {
      printf ("N/A");
    }
  else
    {
      output (data, n);
      output_result (max (data, n),
             min (data, n), mean (data, n), variance (data, n));

      return 0;
    }
}

int input (int *a, int *n)
{
  char bruh;
  printf ("Input integers: ");
  if (scanf ("%d", n) || (*n > 10) || (*n <= 0))
    {
      return 0;
    }
  else
    {
      for (int i = 0; i < *n; i++)
      scanf ("%d", &i);
    }
}

void output (int *a, int n)
{
  for (int i = 0; i < n; i++)
    printf ("%d", a[i]);
  printf ("\n");
}

int max (int *a, int n)
{
  int max_v;
  int i;
    max_v = a[i];
  for (int i = 0; i < n; i++)
    scanf ("%d", &a[i]);
  if (max_v < a[i])
    max_v = a[i];
  printf ("Maximum of NMAX is %d", max_v);
  return max_v;
}

int min (int *a, int n)
{
  int min_v;
  int i;
  min_v = 1;
  for (int i = 0; i < n; i++)
    scanf ("%d", &a[i]);
  if (min_v > a[i])
    min_v = a[i];
  printf ("Minimum of NMAX is %d", min_v);
  return min_v;
}

double mean (int *a, int n)
{
  int i;
  double sum;
  double mean_v;
  sum = 0.0;
  for (i = 0; i < n; i++)
    {
      sum += a[i];
      mean_v = (sum / n);
      printf ("Mean is: %.6lf", mean_v);
      return mean_v;
    }
}

double variance (int *a, int n)
{
  int i, mean_v;
  return ((a[i] - mean_v) / n);
}

double output_result (int max_v, int min_v, double mean_v, double variance_v)
{
  printf ("The results are: %d, %d, %.6lf, %.6lf", max_v, min_v, mean_v,
      variance_v);
}```

При выполнении получилось вот так:
Input integers: 4
-40869236032766-40869238432766
Mean is: -102173090.000000
1
2
3
4
Minimum of NMAX is 1
1
2
3
4
Maximum of NMAX is 1The results are: 1, 1, -102173090.000000, 0.000000%

Ответы (0 шт):