当前位置: 高中信息技术 / 综合题
  • 1. (2022·浙江模拟) 小明过生日,他要一个三层的大蛋糕,每一层都是一个小蛋糕。蛋糕店刚好有对应上、中、下三层的三类蛋糕,大家知道多层蛋糕一般都是上层最小,中层其次,下层最大,不然蛋糕就不漂亮了。所以请你帮助明明计算,在知道每一类蛋糕的体积的前提下有多少符合条件的方案。

    如下图所示,其中第一层蛋糕有5种,体积分别为4、3、5、8、1;第二层有4种,体积分别为6、4、8、5;第三层有7种,体积分别为5、9、4、5、7、6、4。所选方案须符合“第一层<第二层<第三层”,如:第层选3,第二层选4第三层选6。方案共有31种。

    请在划线处填入适当的代码。

    Dim a(100) As Integer, b(100) As Integer, c(100) As Integer

    'a、b、c数组分别存储上、中、下三层蛋糕的体积

    Dim i As Integer, j As Integer, cnt As Integer, ans As Integer

    Dim na As Integer, nb As Integer, nc As Integer

    'na,nb、nc分别记录上、中、下三层蛋糕的种类数量

    Private Sub Command1_ Click( )

        Dim L As Integer, R As Integer, m As Integer

        For i=1 To na-1

            For j=na To i+1 Step-1

                If a(j) < a(j-1) Then tmp=a(j) : a(j) =a(j-1) : a(j-1)= tmp

            Next j

        Next i

        For i=1 To nc-1

            For j=nc To i+1 Step-1

                If c(j) < c(j-1) Then tmp= c(j) :c(j)=c(j- 1) :c(j- 1)= tmp

            Next j

        Next i

        For i=1 To

            L=0 : R=na+ 1

            Do While L+1<R

                m=(L+ R)\ 2

                If a(m) < b(i) Then

                    L=m

                Else

                    R= m

                End If

            Loop

            cnt= L

            L=0 : R=nc十1

            Do While L+1<R

                m=(L+R)\2

                If  Then

                    R= m

                Else

                    

                End If

            Loop

            cnt=cnt * ()

            ans= ans+cnt

        Next i

        Label1. Caption="共有"十Str(ans) + "种方案

    End Sub

    Private Sub Form_ Load(  )

        '随机生成三层蛋糕的数量存储在na、nb、nc中,生成三层蛋糕的体积存储在a、b、c数组中,并输出,代码略

    End Sub

微信扫码预览、分享更方便