早教吧 育儿知识 作业答案 考试题库 百科 知识分享

fortran程序谁帮我看看有什么问题编写外部函数计算sinx=x-x^3/3!+x^5/5!-x^7/7!+``````的值直到最后一项的绝对值小于10^-6为止再写主程序从键盘读入x调用该外部函数并输出sinx这是我编的:progr

题目详情
fortran程序 谁帮我看看有什么问题 编写外部函数 计算sinx=x-x^3/3!+x^5/5!-x^7/7!+``````的值
直到最后一项的绝对值小于10^-6为止 再写主程序 从键盘读入x 调用该外部函数并输出sinx 这是我编的 :
program main
implicit none
real x,fact
print*,"输入x:"
read*,x
print*,"sinx=",fact(x)
end program
function fact(m)
implicit none
real x,fact,h,m
integer jiecheng,i
integer ::k=1
1 jiecheng=1
do i=1,k
jiecheng=i*jiecheng
end do
fact=0
h=m**k/jiecheng
fact=fact+h*(-1)**((k+1)/2+1)
if(abs(h)>10**(-6))then
k=k+2
goto 1
end if
end function fact
我对我原来的程序修改了一下 可以用 麻烦您看一下 给点意见:
program main
implicit none
real x,fact
print*,"输入x:"
read*,x
print*,"sinx=",fact(x)
end program
function fact(m)
implicit none
real x,fact,h,m
integer ::k=1
fact=0
1 h=m**k/jiecheng(k)
fact=fact+h*(-1)**((k+1)/2+1)
if(abs(h)>1E-6)then
k=k+2
goto 1
end if
contains
function jiecheng(n)
integer jiecheng,i,n
jiecheng=1
do i=2,n
jiecheng=i*jiecheng
end do
end function jiecheng
end function fact





















































▼优质解答
答案和解析
program main implicit nonereal x,factprint*,"输入x:"read*,xprint*,"sinx=",fact(x)end program function fact(x)implicit nonereal x,fact,hinteger kFACT=X ; H=XK=2DO WHILE(ABS(H)>=1E-6)H=-H*X*X/(K*(K+1))F...
看了 fortran程序谁帮我看看...的网友还看了以下: