我让你描述你的问题,而不是描述你的需求。我已经知道你要应用秦九昭算法。
我需要知道的是,你遇到的什么问题?是编译错误?运行错误?还是结果不对?如果遇到错误,请给出错误的现象描述或错误提示。这些都是求助的基本信息。
关于你的代码,文件读写为什么要放在函数里呢?多次调用就会多次写入文件,再读文件。你不觉得浪费吗?还有为什么 poly 要调用两次?
poly 已经是单变量的结果了,就不需要再用一个数组来接收了。
以下是我的修改版,简化了很多东西。
[Fortran] 纯文本查看 复制代码 Program mytp16
implicit none
integer n , i
Real(Kind=8) :: x , y
Real(Kind=8) , allocatable::cf(:)
write(*,*)'input the nombre n'
read(*,*)n
write(*,*)'input the x'
read(*,*)x
allocate( cf(0:n) )
open(15,file='the coefficient of npoly.txt')
Do i=0,n
cf(i) = 2.d0 * i + 1.d0
write(15,*) cf(i)
End Do
close(15)
y = poly ( cf , x )
write(*,'("y=",es13.6)') y
contains
Real(Kind=8) Function poly( cf , x ) result( y )
integer i , n
Real(Kind=8) :: cf(0:) , x
n = size( cf ) - 1
y = cf(n) * x + cf( n - 1 )
Do i = 2 , n
y = y * x + cf(n-i)
End Do
End Function poly
End Program mytp16 |