fortran90 关于contains的一个小问题
当我用一个function,用contains包含另外一个function时就出错了不用contains结构,分开写,就又没问题了请高手指教程序和编译器出错提示如下fun...
当我用一个function,用contains包含另外一个function 时就出错了
不用contains 结构,分开写,就又没问题了
请高手指教
程序和编译器出错提示如下
function se(x)
implicit none
integer n
real x,h,he,tx,se
n=1
tx=h(n)*x**(2*n)
he=tx
do while(abs(tx)>=1e-10)
n=n+1
tx=h(n)*x**(2*n)
he=he+tx
enddo
se=1+he
contains
function h(n) result(k)
implicit none
integer i,n
real pim,term1,term2,e,s,k
pim=(2/3.1415926)**(2*n+1)
term1=1
term2=1
e=term1/term2
s=1
i=1
do while(abs(e)>=1e-10)
i=i+1
term1=(-1.0)**(real(i)-1)
term2=(2*real(i)-1)**(2*n+1)
e=term1/term2
s=s+e
enddo
k=2*pim*s
end function h
end function se
program ex
implicit none
real se,x
read*,x
print*,se(x)
end
D:\My Documents\fortran save\Text1.f90(15) : Error: The name of the internal procedure conflicts with a name in the encompassing scoping unit. [H]
function h(n) result(k) 展开
不用contains 结构,分开写,就又没问题了
请高手指教
程序和编译器出错提示如下
function se(x)
implicit none
integer n
real x,h,he,tx,se
n=1
tx=h(n)*x**(2*n)
he=tx
do while(abs(tx)>=1e-10)
n=n+1
tx=h(n)*x**(2*n)
he=he+tx
enddo
se=1+he
contains
function h(n) result(k)
implicit none
integer i,n
real pim,term1,term2,e,s,k
pim=(2/3.1415926)**(2*n+1)
term1=1
term2=1
e=term1/term2
s=1
i=1
do while(abs(e)>=1e-10)
i=i+1
term1=(-1.0)**(real(i)-1)
term2=(2*real(i)-1)**(2*n+1)
e=term1/term2
s=s+e
enddo
k=2*pim*s
end function h
end function se
program ex
implicit none
real se,x
read*,x
print*,se(x)
end
D:\My Documents\fortran save\Text1.f90(15) : Error: The name of the internal procedure conflicts with a name in the encompassing scoping unit. [H]
function h(n) result(k) 展开
2013-12-02
展开全部
错误文件你核谈可以从软件库中仿氏顷删除,
也可以通过调用 Microsoft 产品支持备陆服务请求
也可以通过调用 Microsoft 产品支持备陆服务请求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用contains包含之磨茄派后不能再在函数se中声瞎贺明h了,纳羡
real x,h,he,tx,se
去掉h
real x,he,tx,se
real x,h,he,tx,se
去掉h
real x,he,tx,se
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也是书上核兄敏看的哈,你改枝试下行不行
最前面加一个module blala
第二行implicit none
把尘举cantains写到第三行
最后加一个end module bala
这个module bala就包括了两个子函数
主程序里面调用写use bala
最前面加一个module blala
第二行implicit none
把尘举cantains写到第三行
最后加一个end module bala
这个module bala就包括了两个子函数
主程序里面调用写use bala
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-02
展开全部
通过调用 Microsoft
请求不行的
请求不行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询