!求数组的中位数(偶数个时取平均值) real*8 function median(n,A) implicit none integer :: n real*8 :: A(n) real*8 :: B(n),temp integer :: i,j !从小到大排序 B = A do i=1,n-1 do j=i+1,n if(B(i)>B(j)) then temp = B(i) B(i) = B(j) B(j) = temp end if end do end do !按奇偶取中位数 if(mod(n,2)==1) then median = B(n/2+1) else median = (B(n/2)+B(n/2+1))/2.0 end if end function