subroutine printmat(ldim,m,n,iout,key,a) character*3 key(n) double precision a(ldim,n) do 1 i=1,n,8 nlim=min0(i+7,n) write (iout,1000) (key(k),k=i,nlim) write (iout,1020) 1000 format (/5x,8(6x,a3)) 1020 format (/80(1h-)/) do 2 j=1,n write (iout,1010) key(j),(a(j,k),k=i,nlim) 2 continue 1 continue 1010 format (a3,2x,8(f9.4)) return end