[問題] 最小值有兩個只顯示一個

看板Fortran作者 (草莓獸)時間11年前 (2013/12/03 00:00), 編輯推噓3(302)
留言5則, 2人參與, 最新討論串1/1
program ex integer i real a,x,x1,y,y1 write(*,*) "input a" read(*,*) a do i=-500,500 x=i y=(x**2)+a*x if (i.eq.-500) then y1=y x1=x end if if (y.lt.y1) then y1=y x1=x end if end do write(*,*)"x=",x1,"y=",y1 end 以上為我計算y=x^2+ax 最小的方法 萬一a代1 答案應該是-1跟0 但是只會顯示-1 該怎麼讓另外一個也顯示 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.214.9

12/04 10:38, , 1F
再開一個變數 多加一個if處理x==x1的情況
12/04 10:38, 1F

12/04 10:48, , 2F
不過你確定最小值的時候會有兩個x?
12/04 10:48, 2F

12/04 10:49, , 3F
oh, sorry. 沒注意到你x解析度只有1
12/04 10:49, 3F

12/04 12:55, , 4F
你沒有判斷當不同i值卻得到相同y值的情況阿
12/04 12:55, 4F

12/04 12:55, , 5F
而且只有一個write 當然只會輸出一個值而已
12/04 12:55, 5F
文章代碼(AID): #1IdAwWVT (Fortran)
文章代碼(AID): #1IdAwWVT (Fortran)