試卷征集
          加入會員
          操作視頻

          某卡牌共有52張牌,分黑桃,紅桃,梅花,方塊4種花色,每種花色,13張(編號為1~13),花色外分別用1,2,3,4表示。將這卡牌打亂后,從中每次摸1張牌,同種花色的牌放一起,在每種花色均有3張牌時結束摸牌,然后按花色編號從小到大展示摸到的卡牌。
          摸牌規則:
          (1)當某花色牌不足3張,則記錄摸到的牌,繼續摸下一張牌
          (2)當某花色的牌超過3張時,若摸到的卡牌點數大于本花色中已有卡牌點數的最小值,則替換本花色中點數最小的卡牌,否則,棄置摸到的牌。繼續下一張摸牌
          (3)當所有花色的牌均為3張時結束摸牌。然后按花色編號從小到大展示摸到的卡牌例如:在某次摸牌后的卡牌如下表所示:
          花色 黑桃 紅桃 梅花 方塊
          序號 1 2 3 4 5 6 7 8 9 10 11 12
          點數 7 5 12 11 3 8 7 5 8 5 3
          (1)當下一次摸到“黑桃4”的牌時,4小于已摸到的[7,5,12],棄置摸到的牌,繼續摸牌
          (2)當摸到“紅桃9”的牌時,9大于已摸到的[11,3,8]的最小值3,紅桃更新為[11,9,8],繼續摸牌
          (3)當摸到“梅花9”的牌時,梅花點數更新為[7,5,9],達到所有花色的牌均為3張的目標,結束摸牌。
          模擬此過程編寫VB程序,程序運行界面如下圖,單擊“展示摸到的卡牌”按鈕開始摸牌,滿足條件時,在列表框中展示摸到的卡牌。


          (1)在如表中所示卡牌狀態下,連續2次摸牌為“方塊4”,“方塊7”后,方塊卡牌點數更新為
          8,5,7
          8,5,7
          (填點數,逗號分隔)
          (2)實現上述功能的VB程序如下,請在橫線處填入合適代碼。
          Const n=52
          Dim hs(1 To n) As Integer’存儲每張卡牌的花色
          Dim num(1 To n) As Integer’存儲每張卡牌的點數
          Dim class(1 To 4)As Integer’存儲每種花色卡牌的存儲位置
          Dim record(1 To 12)As Integer
          Private Sub Form_Load
          (  )
          (  )

          ’讀取打亂的卡牌中每張卡牌的花色、點數數據,存入數組hs,num中,代碼略
          End Sub
          Private Sub Command1_Click
          (  )
          (  )

          Dim k As Integer,i As Integer,p As Integer
          Dim flag As Boolean
          flag=True
          For i=1 To 4
          class(i)=①
          (i-1)*3+1
          (i-1)*3+1
          ’計算每種花色卡牌存儲的起始位置
          Next i
          i=1
          Do While i<=n And flag=True
          k=hs(i)
          If class(k)>k*3 Then
          p=pos(i)
          If p<>0 Then
          record(p)=i
          record(p)=i

          End If
          Else
          record(class(k))=i
          class(k)=class(k)+1
          If class(1)=4 And class(2)=7 And class(3)=10 And class(4)=13 Then
          flag=False
          End If
          End If
          i=i+1
          Loop
          List1.AddItem“&”“花色”“&”“&”“點數”
          For i=1 To 12
          List1.AddItem“”& hs(record(i)&“”& mua(record(i)
          Next i
          End Sub

          Function pos(t As Integer)As Integer’返回點數最小卡牌位置
          Dim min As Integer
          m=(hs(t)-1)*3+1
          min=m
          If num(record(min))>num(record(n+1))Then min=m+1
          If num(record(min))>mun(record(m+2))Then min=m+2
          If③
          num(record(min))>mun(t)
          num(record(min))>mun(t)
          Then
          pos=0
          Else
          pos=min
          End If
          End Function

          【答案】8,5,7;(  );(  );(i-1)*3+1;record(p)=i;num(record(min))>mun(t)
          【解答】
          【點評】
          聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
          發布:2024/6/27 10:35:59組卷:0引用:1難度:0.3
          相似題
          • 1.大部分社交軟件都有好友推薦的功能,當用戶 A 和用戶 B 的共同好友數量超過閾值 p 時,由系統向用戶 A 推薦用戶 B。
            編寫 VB 程序,實現好友推薦功能。運行程序,列表框 Listl 中顯示用戶 id 及好友列表,在文本框 Textl 中 輸入推薦目標用戶 id,在文本框 Text2 中輸入閾值 p,點擊“推薦”按鈕,在列表框List2 中顯示用戶之間的關系,在標簽 Label5 中顯示向目標用戶推薦的好友列表。程序運行界面如圖:

            (1)根據如圖所示數據,若輸入用戶 id 為“3”,輸入閾值為“3”,則推薦好友為:
             

            (2)實現上述功能的 VB 程序如下,請在橫線處填入合適的代碼。

            發布:2025/1/2 10:30:2組卷:0引用:1難度:0.3
          • 2.某學校開展了藝術節活動,數組a中存儲了n個節目的編號和得分數據,數組存儲結構如圖所示:

            小明使用選擇排序思想對上述n個節目按得分進行降序排序(得分相同的按編號升序排列),并依據得分插入各個節目的排名信息,處理后數組a的存儲結構如圖所示:


            程序運行時,單擊命令按鈕Command1后讀取數據到數組a中并顯示在列表框List1中,單擊命令按鈕Command2后將節目按照上述規則進行排序,并將排名結果顯示在列表框List2中。
            實現上述功能的VB程序如下,請回答下列問題:
            (1)已知窗體名稱為Forml,要使程序加載時,窗體標題自動顯示為“第15題程序”,則可在
             
            (單選,填字母:A.Form_Click(  )/B.Form_Load(  )/C.Forml_Click (  )/D.Forml_Load (  ))事件過程 中添加代碼:Forml.Caption=“第15題程序”。
            (2)請在橫線處填入合適的代碼。
            (3)加框處代碼有誤,請改正。

            發布:2025/1/2 10:30:2組卷:0引用:1難度:0.3
          • 3.小明用python語言中對大小為100*100像素的圖像“上.jpg”(如圖所示)進行簡單處理,部分代碼如圖:

            程序執行后的圖像效果是(  )

            發布:2024/12/20 9:30:2組卷:3引用:5難度:0.4
          APP開發者:深圳市菁優智慧教育股份有限公司| 應用名稱:菁優網 | 應用版本:5.0.7 |隱私協議|第三方SDK|用戶服務條款
          本網部分資源來源于會員上傳,除本網組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網聯系并提供證據,本網將在三個工作日內改正