有一数组好h(20),h的值不是0就是1,我在声明时设成浮点数了,但是我在程序后面用它作为了判断条件,请问时候会引起误差?程序是这样的:
program test
implicit none
real h(20)
integer i
real sum,
sum=0.0
do i=1,20
if (h(i)/=0) then
sum=sum+i
endif
enddo
另外,我有数组a(5),b(5),均为整型,sum为浮点数型,先要将数组a,b相乘并累加,是不是将a乘b的值先转化乘浮点数型(采用real).然后累加就可以保证精度了,
integer ::a(5),b(5)
real :: sum=0.0
do i=1,5
sum=sum+real(a(i)*b(i))
enddo
是这样的,对于第一个问题,我的完整程序为:
real ::h(20),sum
integer i
open (8,file='test.out',status='old')
h=0.0
do i=1,20
read(8,*) h(i)
if(条件1) then
h=1.0
endif
enddo
do i=1,20
if (h(i)/=0) then
请问这个判断条件会不会对结果又影响,谢谢