作者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