[填空題] 本程序?qū)崿F(xiàn)文本加密。先給定序列:a1,a2,…,an,它們的取值范圍是1~n,而且互不相同。加密算法是:把原文本中第k個字符放到加密后文本的第ak個
[填空題] 本程序?qū)崿F(xiàn)文本加密。先給定序列:a1,a2,…,an,它們的取值范圍是1~n,而且互不相同。加密算法是:把原文本中第k個字符放到加密后文本的第ak個位置處。若原文本長度大于n,則只對前面n個字符加密,后面的字符不變;若原文本長度小于n,則在后面補字符“*”使文本長度為n后再加密。
例如:若給定序列a1,a2,…,a7分別為2,5,3,7,6,1,4。
·當文本為“PROGRAM”時,加密后的文本為“APOMRRG”。
·當文本為“PROGRAMMING”時,加密后的文本為“APOMRRGMING”。
·當文本為“THANK”時,加密后的文本為“*TA*HKN”。
下面的過程code實現(xiàn)這一算法。其中參數(shù)數(shù)組a()中存放給定序列(個數(shù)與數(shù)組a的元素個數(shù)相等)a1,a2,a3,…的值,要加密的文本放在參數(shù)變量mystr中。過程執(zhí)行完畢,加密后的文本仍然放在變量mystr中。請?zhí)羁铡?/p>
Option Base 1
Private Sub code(a() As Integer, mystr As String)
Dim ch As String, c1 As String
n=UBound(a)-Len(mystr)
If n>0 Then
mystr=mystr & String$(n, "*")
End If
ch=mystr
For k= (14) &g
正確答案:(14)1 (15)a(k)
參考解析:code過程首先求出序列長度和字符串長度之差n,從而確定是否在串mystr之后補充字符“*”;接下來,對每一個字符進行處理,處理的次數(shù)就是字符或序列的長度,所以[14]空應(yīng)填1。循環(huán)過程中,從第k個位置取出一個字符,同時應(yīng)從序列中找出該字符經(jīng)加密后應(yīng)存放的位置,所以[15]空應(yīng)填a(k)。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。