精華區beta Fortran 關於我們 聯絡資訊
小弟在找習題練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
awer89:迴圈除了X<0 以外 似乎無法跳出迴圈 可以compilar?? 02/14 21:45
wodada:可以compiler,只是一直不斷出現字串要我輸入數字,然後一直 02/14 21:54
wodada:輸入數字.... 02/14 21:54
awer89:恩 可以COMPILER 現在在於無法跳出回圈 除非給負數 02/14 21:58
hiyiyi:write(*,10) X 02/15 20:03
hiyiyi:10 format("THE NUMBER IS:,",1x,f10.3) 02/15 20:04
hiyiyi:以上是write的寫法修正 變數x不該寫在format裡面 02/15 20:06
hiyiyi:要每次都算出RMS,要把計算公式跟write寫在do裡面 02/15 20:06
wodada:謝謝各位!! 02/20 00:16