我即将计算cos(x)+1/4*cos(2x)
,但结果总是只给我cos(x)
的结果。我的代码中的错误在哪里?
program write
implicit none
integer, parameter :: N=8
integer :: j
real :: h, L
real, dimension(0:N-1) ::x, fx
real(8), parameter :: pi=4.0_8*atan(1.0_8)
L=2*pi
h=L/N
do j=0,N-1
x(j)=h*j
end do
do j=0,N-1
fx(j)=cos(x(j))+1/4*cos(2*x(j))
end do
write(*,*),fx
end program write
答案 0 :(得分:5)
您的问题是1/4
。
由于1
和4
都是整数,1/4
被解释为整数除法,并且任何提醒都被删除。简而言之:1/4 == 0
,而1.0/4 == 1/4.0 == real(1)/4 == 0.25
。
请注意real(1/4) == real(0) == 0.0
。