猜數(shù)字是一種古老的密碼破譯類益智小游戲.通常由兩個(gè)人玩,也可以由一個(gè)人和電腦玩,其標(biāo)準(zhǔn)規(guī)則為:
1)一方出數(shù)字,出數(shù)字的人要想好一個(gè)無重復(fù)數(shù)字的4位數(shù)(如0165,5234等),不能讓猜的人知道;
2)另一方猜數(shù)字,每猜一個(gè)數(shù)字,出數(shù)者根據(jù)結(jié)果給出“幾A幾B的提示”,其中A前面的數(shù)字表示位置正確的數(shù)字個(gè)數(shù),而B前面的數(shù)字表示數(shù)字正確但位置不對(duì)的數(shù)字個(gè)數(shù).(如要猜5234,猜的人給出5346,則提示1A2B);
3)重復(fù)第二步的猜測(cè)過程,直到猜中(即提示4A0B)為止.
小林編寫了一個(gè)和電腦猜數(shù)字的VB程序,其功能如下:窗體加載時(shí),調(diào)用自定義函數(shù)產(chǎn)生待猜的4位數(shù)字,并初始化猜測(cè)次數(shù).用戶在文本框Text1中輸入猜的數(shù)字,單擊“我猜”按鈕Command1,程序進(jìn)行判斷,并將結(jié)果顯示在列表框List1中.猜中后,在標(biāo)簽框Label2中根據(jù)猜測(cè)次數(shù)給出評(píng)語.程序運(yùn)行效果如1圖所示.
(1)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)跈M線處填入合適代碼.
Dim result As String,total As Integer
Dim flag(0 to 9)As Boolean'標(biāo)記下標(biāo)對(duì)應(yīng)的數(shù)字是否存在,初值默認(rèn)為False
Private Sub Form_Load( ?。?br /> result=①RndCode(4)①RndCode(4)
total=0
End Sub
Private Sub Command1_Click( ?。?br /> Dim A As Integer,B As Integer
Dim C As Integer'變量C存儲(chǔ)數(shù)字正確(含位置正確)的數(shù)字個(gè)數(shù)
Dim guess As String,i As Integer,t1 As String,t2 As String
guess=Text1.Text
A=0:C=0
For i=1 To 4
t1=Mid(result,i,1)
t2=Mid(guess,i,1)
If t1=t2 Then A=A+1
If ②flag(val(t2)=true或 flag(val(t2)) 或 flag(t2)=true 或 flag(t2)②flag(val(t2)=true或 flag(val(t2)) 或 flag(t2)=true 或 flag(t2) Then C=C+1
Next i
total=total+1
B=③C-A③C-A
List1.AddItem Str(total) &““& guess &““& Str(A) &“A“& Str(B) &“B“
If A=4 Then
If total<=8 Then
Label2.Caption=“太厲害了!您只用了“& total &“次.“
Else
Label2.Caption=“繼續(xù)鍛煉!您共花了“& total &“次.“
End If
End If
End Sub
'RndCode 函數(shù)用于隨機(jī)產(chǎn)生待猜測(cè)的n位不重復(fù)數(shù)字字符
Function RndCode(n As Integer) As String
Dim x As Integer,i As Integer
Randomize
num=0:RndCode=““
Do While num<n
x=Int(Rnd*10)'隨機(jī)產(chǎn)生一個(gè)[0,9]的數(shù)字
If flag(x)=False Then
flag(x)=True
num=num+1
RndCode=RndCode & x
End If
Loop
End Function
(2)如果某次游戲過程如2圖所示,那么第7次要猜測(cè)成功,應(yīng)輸入 DD(單選,填字母:A.6321 B.6312 C.2531 D.2513).
【考點(diǎn)】編輯事件處理過程的代碼.
【答案】①RndCode(4);②flag(val(t2)=true或 flag(val(t2)) 或 flag(t2)=true 或 flag(t2);③C-A;D
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:3引用:1難度:0.1
相似題
-
1.根據(jù)AQI值判斷城市的空氣質(zhì)量。若城市的AQI值(整數(shù))不超過100則空氣質(zhì)量?jī)?yōu)良,否則空氣質(zhì)量有污染。當(dāng)輸入的AQI值為-1時(shí)則退出程序。不要更改程序結(jié)構(gòu),將題中的①②③④填入正確的語句。
city=input(“請(qǐng)輸入城市名:”)
AQI=int(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
①______ AQI!=-1:
if ②______:
print(city,“的空氣質(zhì)量?jī)?yōu)良?!保?br />③______:
print(city,“的空氣質(zhì)量有污染。”)
city=input(“請(qǐng)輸入城市名:”)
AQI=④(input(“請(qǐng)輸入空氣質(zhì)量指數(shù)AQI的值:”))
(1)序號(hào)①答案為
A.if
B.while
C.for
D.def
(2)序號(hào)②答案為
A.AQI>=100
B.AQI<=100
C.AQI>100
D.AQI<100
(3)序號(hào)③答案為
A.elif
B.break
C.if
D.else
(4)序號(hào)④答案為
A.int
B.float
C.str
D.else發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4 -
2.一球從100米高度自由落下,每次落地后反跳回原高度的一半,再下落。編寫一個(gè)C程序,求它在第10次落地時(shí),其經(jīng)過了多少米?第10次反彈多高?
發(fā)布:2025/1/2 11:0:1組卷:0引用:3難度:0.3 -
3.利用海倫公式求解三角形面積。已知a,b,c為三角形的三條邊長(zhǎng),p為三角形的半周長(zhǎng),即p=(a+b+c)/2,計(jì)算此三角形面積S的海倫公式為:。不要更改程序結(jié)構(gòu),將題中的①②③填入正確的語句。
import math#導(dǎo)入數(shù)學(xué)模塊
def hl(a,b,c):#定義求三角形面積的函數(shù)
p=①
s=math.jye.ai(②)#sqrt用于計(jì)算算術(shù)平方根
return ③#返回面積的值
a,b,c=3,4,5#邊長(zhǎng)依次賦值
print(“此三角形的面積S為:“,hl(a,b,c))
A. (a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C. (a+b+c)*2 D.s
(2)序號(hào)②答案為
A.(a+b+c)/2 B.p*(p-a)*(p-b)*(p-c)
C.(a+b+c)*2 D.(3+4+5)/2
(3)序號(hào)③答案為
A.p B.s
C.p*(p-a)*(p-b)*(p-c) D.0發(fā)布:2025/1/2 11:0:1組卷:0引用:0難度:0.4
把好題分享給你的好友吧~~