用VB編寫一個(gè)英文單詞查找替換的程序。功能如下:分別在文本框Text1、Text2、Text3中輸入原文(s)(以一個(gè)空格作為單詞間隔、且以“.”結(jié)尾)、要查找的單詞(Txt_key)以及要替換的內(nèi)容(Txt_rs),單擊“替換”按鈕Command1,將原文中所有的Txt_key替換為Txt_rs,并在文本框Text4中輸出替換后的內(nèi)容(ss)。運(yùn)行效果如圖所示。

查找替換的方法及示意圖如下:

為方便判斷單詞,將要查找的單詞(Txt_key)與替換的內(nèi)容(Txt_rs)前后分別連接上一個(gè)空格,組成字符串key(長度為len_key)和字符串rs。變量ss用來存儲(chǔ)替換后的內(nèi)容。
(1)若查找單詞Txt_key在原文s的起始位置就有,則先將Txt_rs連接至ss,同時(shí)將查找位置i定位到s的“l(fā)en_key—1”位置(考慮出現(xiàn)連續(xù)、重復(fù)的Txt_key,查找定位前移1個(gè)位置。以下定位方法相同)。
(2)若原文s的第一個(gè)單詞不是Txt_key,則在字符串s中查找key。
查找位置i的初始值為1,重復(fù)執(zhí)行下列①、②、③步驟,直至i位于第“l(fā)en_s—len_key+1”位置(即在s中待查找的內(nèi)容只剩下與key等長的子串):
①從第i位置開始取與key等長的子串;
②若子串與key相等,則在ss末尾連接上rs,同時(shí)將下一次查找的位置定位為“i+len_key—1”;
③若子串與key不相等,則將i位置上的字符連接到ss中,同時(shí)查找位置往后移一個(gè),即i=i+1。
(3)若查找單詞Txt_key是原文最后一個(gè)單詞,則將Txt_rs和“.”連接至ss,否則將s中最后剩下的待查找子串連接到ss中。
實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼,完成程序:
Private Sub Command1_ Click ( )
Dim i As Integer
Dim s As String's為原文
Dim Txt_ key As String'Txt_key為要查找的內(nèi)容
Dim Txt_ rs As String'Txt_ rs為替換成的內(nèi)容
Dim ss As String'ss為替換后的內(nèi)容
Dim key As String
Dim rs As String
Dim len_s As Integer'len_s為字符串s的長度
Dim len_ key As Integer'len_key為字符串key的長度
s=Text1.TextText1.Text
Txt_key=Text2.Text
Txt_rs=Text3.Text
key=““+Txt_key+““
rs=““+Txt_rs+““
ss=““
len_s=Len(s):len_key=Len(key)
i=l
If Mid(s,1,len_key—1)=Mid(key,2,len_key—1)Then
Txt_key存在于字符串s開始位置時(shí)的處理
ss=ss+Txt_rs或Mid(rs,2,len(rs)—2)Txt_rs或Mid(rs,2,len(rs)—2)
i=len_key—1
End If
Do While I<=len_s—len_key+1
'key存在于字符串中間位置時(shí),進(jìn)行查找替換
IfMid(s,i,len_key)或Mid(s,i,len(key))Mid(s,i,len_key)或Mid(s,i,len(key))=key Then
ss=ss+Mid(rs,1,Len(rs)—1)
i=i+len_key—1
'考慮出現(xiàn)連續(xù)、重復(fù)的key,查找位置前移1個(gè)位置
Else
ss=ss+Mid(s,i,1)
i=i+l
End If
Loop
If Mid(s,I—1,len_key—1)=Mid(key,1,len_key—1)Then
'對(duì)原文中的最后待查找字串進(jìn)行處理
ss=ss+Txt_rs+Mid(s,len_s,1)
Else
ss=ss+Mid(s,i,len_key—1)
End If
Text4.Text=ss
End Sub
【考點(diǎn)】應(yīng)用程序的試運(yùn)行和保存.
【答案】Text1.Text;Txt_rs或Mid(rs,2,len(rs)—2);Mid(s,i,len_key)或Mid(s,i,len(key))
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.3
相似題
-
1.大部分社交軟件都有好友推薦的功能,當(dāng)用戶 A 和用戶 B 的共同好友數(shù)量超過閾值 p 時(shí),由系統(tǒng)向用戶 A 推薦用戶 B。
編寫 VB 程序,實(shí)現(xiàn)好友推薦功能。運(yùn)行程序,列表框 Listl 中顯示用戶 id 及好友列表,在文本框 Textl 中 輸入推薦目標(biāo)用戶 id,在文本框 Text2 中輸入閾值 p,點(diǎn)擊“推薦”按鈕,在列表框List2 中顯示用戶之間的關(guān)系,在標(biāo)簽 Label5 中顯示向目標(biāo)用戶推薦的好友列表。程序運(yùn)行界面如圖:
(1)根據(jù)如圖所示數(shù)據(jù),若輸入用戶 id 為“3”,輸入閾值為“3”,則推薦好友為:
(2)實(shí)現(xiàn)上述功能的 VB 程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。發(fā)布:2025/1/2 10:30:2組卷:0引用:1難度:0.3 -
2.某學(xué)校開展了藝術(shù)節(jié)活動(dòng),數(shù)組a中存儲(chǔ)了n個(gè)節(jié)目的編號(hào)和得分?jǐn)?shù)據(jù),數(shù)組存儲(chǔ)結(jié)構(gòu)如圖所示:
小明使用選擇排序思想對(duì)上述n個(gè)節(jié)目按得分進(jìn)行降序排序(得分相同的按編號(hào)升序排列),并依據(jù)得分插入各個(gè)節(jié)目的排名信息,處理后數(shù)組a的存儲(chǔ)結(jié)構(gòu)如圖所示:
程序運(yùn)行時(shí),單擊命令按鈕Command1后讀取數(shù)據(jù)到數(shù)組a中并顯示在列表框List1中,單擊命令按鈕Command2后將節(jié)目按照上述規(guī)則進(jìn)行排序,并將排名結(jié)果顯示在列表框List2中。
實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)回答下列問題:
(1)已知窗體名稱為Forml,要使程序加載時(shí),窗體標(biāo)題自動(dòng)顯示為“第15題程序”,則可在
(2)請(qǐng)?jiān)跈M線處填入合適的代碼。
(3)加框處代碼有誤,請(qǐng)改正。發(fā)布:2025/1/2 10:30:2組卷:0引用:1難度:0.3 -
3.小明用python語言中對(duì)大小為100*100像素的圖像“上.jpg”(如圖所示)進(jìn)行簡單處理,部分代碼如圖:
程序執(zhí)行后的圖像效果是( ?。?/h2>發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4
相關(guān)試卷