看板 Fortran 關於我們 聯絡資訊
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
physbook:再開一個變數 多加一個if處理x==x1的情況 12/04 10:38
physbook:不過你確定最小值的時候會有兩個x? 12/04 10:48
physbook:oh, sorry. 沒注意到你x解析度只有1 12/04 10:49
rex0707:你沒有判斷當不同i值卻得到相同y值的情況阿 12/04 12:55
rex0707:而且只有一個write 當然只會輸出一個值而已 12/04 12:55