vb第九章部分習題解答記錄,求指正

2021-09-11 03:15:48 字數 1097 閱讀 5401

1、設a為一整數,如果能使a2=xxa成立,則稱a為「守形數」。例如52=25,252=625,則5和25都是守形數。試編寫乙個function過程automorphic,其形參為一正整數,判斷其是否為守形數,然後用該過程查詢1-1000內的所有守形數。

private sub form_click()

dim n as single 'n不可使用integer,如使用integer則會產生資料溢位

for n = 1 to 1000 '測試1~1000的數字

if automorphic(n) = true then '呼叫函式

print "n*n="; n * n, n; "是乙個守形數"

end if

next n

end sub

function automorphic(n as single) as boolean '這個function有很多寫法,用布林型應該是比較簡便的一種

dim squ as single

squ = n * n

if squ mod 10 = n or squ mod 100 = n or squ mod 1000 = n then '驗證是否滿足n*n=xxn

automorphic = true

else

automorphic = false

end if

end function

某人抱怨朕不會寫注釋。。。好吧我承認。

蠻簡單的題,但是我一開始用了乙個迴圈來確定n的位數然後才用mod,沒有想到or連線多個條件。以及有些不習慣布林型的使用

出了個小插曲資料溢位,習慣用integer來定義變數/捂臉。更改了squ還是資料溢位。就是說這裡只要n是整型n*n就會產生資料溢位

因為資料是先進行整型數n*n的計算並把結果存為整型然後嘗試賦值給single的squ並嘗試改變它的單精度為整型資料。(不同資料之間的相互賦值在c好像是不被允許的?)也就是說被賦值後的變數型別也會被強制賦值。

那麼問題來了,為什麼inputbox賦給的變數依舊可以保持原來的型別?

第九章 習題

一 填空題 1 執行異常,可以 預料 但不能避免,它是由 系統執行環境 造成的。2 在小型程式開發中,一旦發生異常所採取的方法一般是 將程式立即中斷執行,從而無條件釋放所有資源 3 c 的異常處理機制使得異常的引發和處理 不必 在同一函式中。4 如果預料某段程式 成對某個函式的呼叫 有可能發生異常,...

第九章 習題

一 填空題 1 執行異常,可以 預料 但不能避免,它是由 系統執行環境 造成的。2 在小型程式開發中,一旦發生異常所採取的方法一般是 將程式立即中斷執行 3 c 的異常處理機制使得異常的引發和處理 不必 在同一函式中。4 如果預料某段程式 成對某個函式的呼叫 有可能發生異常,就將它放在 try語句塊...

第九章 習題

1 執行異常,可以預料,但不能避免,它是由系統執行環境造成的。2 在小型程式開發中,一旦發生異常所採取的方法一般是將程式立即中斷執行,從而無條件釋放所有資源 3 c 的異常處理機制使得異常的引發和處理不必在同一函式中。4 如果預料某段程式 成對某個函式的呼叫 有可能發生異常,就將它放在try語句塊中...