Re: [問題] IF ELSE
※ 引述《ilelm (我想吃好蛋)》之銘言:
: 最近學到了if else語法,遇到了一個問題,可以請各位幫我看問題出在哪裡嗎?謝謝!
: 題目是這樣:
: The cost of sending apackage by an express delivery service is $10.00
: for the first 2 pounds,and $3.75 for each pound or fraction thereof
: 2pounds.If the package weighs more than 70pounds, a $10.00 excess
: weight surcharge is added to the cost.No package over 100 pounds
: will be accepted.Write aprogram that accept the weight of a pcckage
: in pounds and computesthe cost of mailing the package. Be sure to
: handle the case ofoverweight packages.
: 我寫的程式如下:
: program main
: implicit none
: real :: w,cost,a,b,c
: write(*,*)"請輸入包裹的重量(單位:磅)"
: read(*,*) w
: if (w>100.0) then
: write(*,*)"超重了你知道嗎?"
: else if(w<=2.0) then
: a=10.00
: write(*,*)"cost=",a
: else if (2.0 <w <=70.0.AND.INT(W-2.0)=W-2.0) then
: b=10.0+3.75(w-2.0)
: write(*,*)"cost=",b
: else if (2.0 < w < 70.0 .AND.INT(W-2.0)/=W-2.0) then
: b=10.0+3.75(int(w+1.0)-2.0)
: write(*,*)"cost=",b
: else if(w>70.0 .AND.INT(W-2.0)=W-2.0) then
: c=20.0+3.75(w-2.0)
: else if (w>70.0 .AND.INT(W-2.0)/=W-2.0) then
: c=20.0+3.75(int(w+1.0)-2.0)
: write(*,*)"cost=",c
: end if
: pause
: stop
: end program main
單純的只看語法的話,紅色的部分都是不正確的...
所以我改了一下...
program main
implicit none
real :: w, cost
write (*,*) '您的包裹重量是(單位:磅)?'
read (*,*) w
if (w < 0.0) then
write (*,*) '這裡面裝的是阿飄嗎?'
else if (w <= 2.0) then
write (*,*) '包裹重量在 2 磅以下, 運用費用 $10.0'
else if (2.0 < w .and. w < 70.0) then
cost = 10.0+3.75*int(w-2.0)
write (*,*) '包裹重量為', w, '磅, 運用費用 $', cost
else if (70 <= w .and. w < 100.0) then
cost = 10.0+3.75*int(w-2.0)+10.0
write (*,*) '包裹重量為', w, '磅, 運用費用 $', cost
else if (100.0 <= w) then
write (*,*) '抱歉, 我們不收100磅以上包裹.'
end if
pause
stop
end program main
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.1.2
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章