【試題編號】11900-940301
【題目】迴文判斷
【說明】
請利用『指定』迴圈控制指令,由外部資料檔讀入一個欲判斷的數字,若此數字為迴文(Palindrome,左右讀起均同,例如12321),則印出此數字及is a palindrome.,若不是則印出此數字及is not a palindrome.
Private Sub Form_Activate() 在表單活動時
Dim x As Long, y As Long, z As Long 定義三個長整數Long
Open App.Path & "\940301.sm " For Input As #1 開資料檔,也就是要被判斷的檔
Input #1, x 經由路徑1,指定檔案內的資料為"x"
Close #1 將檔案關閉
z = x 將資料x的值帶入z,使z和x相等
For Next 迴圈版
For i = 1 To 9 執行九次的迴圈(有For則必有Next)
y = y & (x Mod 10) 將資料x取餘數,和y連接(y一開始沒指定便為0)
x = x \ 10 每執行一次迴圈,就將"整除"10
If x = 0 Then Exit For 若x執行到=0時便跳出迴圈
Next i
If z = y Then Print "第一題結果:"; z; " is a palindrome." Else Print z; " is not a palindrome."
↑
若z(一開始讓x與z相等,最後將z與被一個個數字拆解的y做分析)與y是相同的,則為迴文,反之則否,依據結論列印出答案
End Sub
※以下是Do Loop和Do While版本,和For Next大同小異,也可以參考看看喔^^
Do Loop 迴圈版
i = 1
Do While i <= 9
y = y & (x Mod 10)
x = x \ 10
If x = 0 Then Exit Do
i = i + 1
Loop
Print y
If z = y Then Print z; " is a palindrome." Else Print z; " is not a palindrome."
End Sub
Do While 迴圈版
i = 1
Do i <= 9
y = y & (x Mod 10)
x = x \ 10
If x = 0 Then Exit Do
i = i + 1
Loop While
Print y
If z = y Then Print z; " is a palindrome." Else Print z; " is not a palindrome."
- Jan 05 Wed 2011 08:50
11900-940301 迴文判斷
close
全站熱搜
留言列表
發表留言