Task: Implement functions for sum, average, min, and max; pass the array to each. Print all metrics in a single summary line.
#include <stdio.h>
#include <limits.h>
long long arr_sum(const int a[], int n) {
long long s = 0;
for (int i = 0; i < n; ++i) s += a[i];
return s;
}
double arr_avg(const int a[], int n) { return n ? (arr_sum(a,n)/(double)n) : 0.0; }
int arr_min(const int a[], int n) {
int m = INT_MIN; if (!n) return m;
m = a[0]; for (int i = 1; i < n; ++i) if (a[i] < m) m = a[i]; return m;
}
int arr_max(const int a[], int n) {
int m = INT_MAX; if (!n) return m;
m = a[0]; for (int i = 1; i < n; ++i) if (a[i] > m) m = a[i]; return m;
}
int main(void) {
int N, a[200];
printf("Enter N (1..200): ");
if (scanf("%d", &N) != 1 || N <= 0 || N > 200) { printf("Invalid N.\n"); return 0; }
printf("Enter %d integers: ", N);
for (int i = 0; i < N; ++i) scanf("%d", &a[i]);
long long s = arr_sum(a, N);
double avg = arr_avg(a, N);
int mn = arr_min(a, N), mx = arr_max(a, N);
printf("Sum=%lld, Avg=%.2f, Min=%d, Max=%d\n", s, avg, mn, mx);
return 0;
}