• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:fortran if文)

Fortranのif文で出力が5になってしまう問題

このQ&Aのポイント
  • 以下のFortranのコードで、xとthetaに5,5と入力しても、出力が5となってしまいます。
  • 500になってほしかったのですが、どこが悪いのか教えてください。
  • 問題箇所はif文の条件判定とその後の処理です。正しい条件を設定していないため、出力が5になってしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

read(5,*)x,theta ! you cannot write 0 < x < 4 ! you need to write 0 < x and x < 4 ! to get intended behavior ! the two codes have the different meanings. ! tested with g95 compiler if(0.0d0 .LE. x .and. x .LE.4.0d0) then eta=theta go to 20 else if(4.0d0.LT. x .and. x .LT.7.0d0) then eta=100.0d0*theta go to 20 else if(7.0d0.LE. x .and. x .LE.10.0d0) then eta=sqrt(3.0d0*sqrt(2.0d0))*theta go to 20 end if 20 write(6,30) eta 30 format(F10.5) stop end

BOY12345
質問者

お礼

できました♪ ありがとうございます。 if(0.0d0 .LE. x .and. x .LE.4.0d0) then eta=theta go to 20 else if(x .LT.7.0d0) then eta=100.0d0*theta go to 20 else if(x .LE.10.0d0) then eta=sqrt(3.0d0*sqrt(2.0d0))*theta go to 20 end if でもいけることがわかりました!! ありがとうございます☆

関連するQ&A

専門家に質問してみよう