作者wodada (wodada)
看板Fortran
标题[问题] rms average的算法
时间Sun Feb 14 21:35:05 2010
小弟在找习题练fortran程式时
找到练均方根值的算法
虽然最终写出来没有任何错误,但是执行的结果却令我相当的囧
以下是我写的程式:......
program RMS
implicit none
INTEGER :: N= 0 !THE NUMBER OF INPUT SAMPLE
REAL :: RMS_AVG= 0 !THE RMS AVERAGE OF INPUT SAMPLE
REAL :: SUM_X2= 0 !THE SUM OF THE INPUT VALUE
REAL :: X= 0 !AN INPUT DATA VALUE
!WHILE LOOP TO READ INPUT VALUES
DO
WRITE(*,*) "ENTER THE NUMBER:"
READ(*,*) X
WRITE(*,10)
10 FORMAT(1X,F10.3,"THE NUMBER IS:, X")
IF(X < 0)EXIT
N= N + 1
SUM_X2= SUM_X2 + X**2
END DO
RMS_AVG= SQRT(SUM_X2/REAL(N))
WRITE(*,*) "THE RMS AVERAGE IS:", RMS_AVG
PAUSE
end program RMS
执行出来的结果,却是一直不断的按数字,无法算出rms的数值....
另外,在do回圈中间的write无法显示里面的字串.....
还请各位高手指点
感激不尽!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.155.180
1F:推 awer89:回圈除了X<0 以外 似乎无法跳出回圈 可以compilar?? 02/14 21:45
2F:→ wodada:可以compiler,只是一直不断出现字串要我输入数字,然後一直 02/14 21:54
3F:→ wodada:输入数字.... 02/14 21:54
4F:推 awer89:恩 可以COMPILER 现在在於无法跳出回圈 除非给负数 02/14 21:58
5F:→ hiyiyi:write(*,10) X 02/15 20:03
6F:→ hiyiyi:10 format("THE NUMBER IS:,",1x,f10.3) 02/15 20:04
7F:→ hiyiyi:以上是write的写法修正 变数x不该写在format里面 02/15 20:06
8F:→ hiyiyi:要每次都算出RMS,要把计算公式跟write写在do里面 02/15 20:06
9F:→ wodada:谢谢各位!! 02/20 00:16