[問題] 迴圈問題

看板Fortran作者 (DaVie)時間12年前 (2012/05/28 20:30), 編輯推噓1(1010)
留言11則, 4人參與, 最新討論串1/4 (看更多)
最近剛接觸fortran 遇到迴圈以後因為邏輯還沒建立起來所以有點頭痛 像下面的例題: 讓使用者輸入長寬後利用星號產生一個空心矩形 例如10*10跑出來要是 ********** * * * * * * * * * * * * * * * * ********** 而我目前只能做到上面跟右邊有星號而已 integer :: length,width integer :: liml,limw write(*,*) "輸入長度及寬度" read(*,*) length,width liml=1 limw=1 do while (liml<=length) write(*,"('*',$)") liml=liml+1 end do do while (limw<width) write(*,"('*')") limw=limw+1 end do stop end 想請問我該怎麼改才能跑出完美地矩形呢? 可以的話能否連寫的邏輯也一起告訴我 感激不盡TAT -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.198.179.200

05/28 23:16, , 1F
請問裡面有要寫東西嗎?
05/28 23:16, 1F

05/29 08:10, , 2F
你需要IF
05/29 08:10, 2F

05/29 09:36, , 3F
g大 裡面只要空白就好不要有東西 但這樣我就不會了...
05/29 09:36, 3F

05/29 09:40, , 4F
k大 意思是我要在do while裡面加入IF同時跑出兩邊嗎?
05/29 09:40, 4F

05/29 22:34, , 5F
integer:: i=5,j=11,m,n
05/29 22:34, 5F

05/29 22:34, , 6F
print '(<j>(A),\)', ('*',n=1,j)
05/29 22:34, 6F

05/29 22:34, , 7F
print '(<i-2>(/,<j>A))', (('*', (' ',n=1,j-2),'*'),
05/29 22:34, 7F

05/29 22:34, , 8F
m=1,i-2)
05/29 22:34, 8F

05/29 22:35, , 9F
print '(<j>(A))', ('*',n=1,j)
05/29 22:35, 9F

05/29 22:35, , 10F
pause
05/29 22:35, 10F

05/29 22:35, , 11F
中間有兩行要連著
05/29 22:35, 11F
文章代碼(AID): #1Fms_m1f (Fortran)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 4 篇):
1
11
文章代碼(AID): #1Fms_m1f (Fortran)