我编的这个fortran程序好多错,哪位大神帮小弟大概改一下吧

program a
real cm(n),Fs(n),a,cmn(n)
integer i,j,n
do while(((Fs-1.2)/1.2)<=0.01)
do i=1,n
read*,cm(i)
call subroutine bishop
write(*,*)Fs(i)
a=Fs-1.2
do i=1,n-1
tmin=i
do j=i+1,n
if(a(j)<a(tmin)) tmin=j
enddo
t=a(i)
a(i)=a(tmin)
a(tmin)=t
enddo
enddo
print*,cm(t)
if cm(i)>cm(t)
cmn(i)=cm(i)-0.1*abs(cm(i)-cm(t))
else
cmn(i)=cm(i)+0.1*abs(cm(i)-cm(t))
endif
enddo
print*,cmn(t)
end

real cm(n),Fs(n),a,cmn(n)
n必须是具体的数字,比如100或者200等,也可以先定义常数参量。这句是错误的根源,因为这句的错误,等于没定义数组,后边凡是用到数组就出错。

另外, if cm(i)>cm(t) 应为→ if (cm(i)>cm(t)) THEN
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜