#include #include void store_nums(double *p, int); void bubble_sort(double *p, int); void swap(double *xp, double *yp); void print_median(double *p, int); int main(void) { int n; double nums[2000]; scanf("%d\n", &n); store_nums(nums, n); bubble_sort(nums, n); print_median(nums, n); return 0; } void store_nums(double *arr, int n) { for (int i = 0; i < n; ++i) { scanf("%lf", &arr[i]); } } void bubble_sort(double *arr, int n) { bool swapped; for (int i = 0; i < n-1; ++i) { swapped = false; for (int j = 0; j < n-i-1; ++j) { if (arr[j] > arr[j+1]) { swapped = true; swap(&arr[j], &arr[j+1]); } } if (swapped == false) { break; } } } void swap(double *xp, double *yp) { int temp = *xp; *xp = *yp; *yp = temp; } void print_median(double *arr, int n) { printf("%f\n", (n % 2 == 0) ? ((arr[n/2] + arr[n/2-1]) / 2) : arr[n/2]); }