怎样用fortran95写这个题: 将一列数中所有相同的数删到只剩一个

2025-05-10 03:39:59
推荐回答(2个)
回答1:

!子程序 dels 用于删除数组md(1:n)中相同数
subroutine dels(n,md)
integer::n,i,j,n1
dimension md(1:n),md1(1:n)
err = -999999.
print*,md
do i=1,n-1
if(md(i).ne.err)then
do j=i+1,n
if(md(j).ne.err)then
if(md(i)==md(j))then
md(j)=err
end if
end if
end do
end if
end do
n1=0
do i=1,n
if(md(i).ne.err)then
n1=n1+1
md1(n1)=md(i)
end if
end do
md=0
n=n1
md(1:n)=md1(1:n)
end subroutine

!用于测试的主程序
program test
!implicit none
dimension md(10)
n=5
md=5.
md(2)=3.
call dels(n,md(1:n))
print*,md(1:n)
end program test

回答2:

这也可以么?