kind(1d0)=8,因为1d0是双精度的。
real(DP),parameter::e=271828182845904523560287_DP这样赋值出错:DP不能是变量,在前一行应改为integer,parameter:: DP=kind(1d0)才成
至于::e=271828182845904523560287_DP 后面多的那个DP是什么格式和意识也不懂,经测试,去掉其中任何一个字母会出错
网上找的
subroutine LInsertValue(X,Y,n,InsertX,InsertV)
dimension x(n),y(n)
real InsertX,InsertV,temp
temp=10
InsertV=00
do i=0,n-1,2
temp=10
do j=0,n-1,2
if (jnei) then
temp=temp(InsertX-X(j))/(x(i)-X(j))
end if
end do
InsertV=InsertV+y(i)temp
end do
end subroutine
program Main
character32 nodes
<br> real InV
real,allocatable::x(:),y(:)
nodes="NODESDAT"
open(11,file=nodes,status='old',form='formatted')
n=0
do while(noteof(11))
read(11,,end=102)
n=n+1
102 end do
write(,) n
rewind(11)
allocate(x(0:(n-1)),y(0:(n-1)))
do i=0,n-1
read(11,100) x(i),y(i)
end do
100 format(2e166)
close(11)
do i=0,n,2
call LInsertValue(x,y,n,x(i+1),InV)
<br> write(,'(2e166)') x(i),y(i)
write(,'(2e166)') x(i+1),InV
end do
end program
把数据放在nodesdat下
以上就是关于一个fortran程序问题。全部的内容,包括:一个fortran程序问题。、高分求fortran程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)