试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省高中信息技术 排序算法及程序实现同步练习

新华书店准备举行“买3送1”周年大酬宾活动,顾客只要每买三本书就可以免除其中一本最便宜的书的书款,上不封顶。其结算系统如图所示。图中左侧显示了顾客已挑选的书的款额,款额保存在数组s中,单击“结算”按钮后,系统会统计出所有书籍的金额数,并自动统计顾客最少所需的付款额。假设顾客买了7本书,价钱分别是10、3、2、4、4、6、9,总金额是38元,则顾客实付只需29元。

以下程序加框处有错,请改正。

Private Sub Command1_Click()

  Dim s(1 To 1000)As Single, n As Integer, x As Integer

  Dim payment As Single, cost As Single, tmp as Single

‘假设顾客共挑选了n本书,各本书金额数都已存放在数组s中

‘先对n本书按价格降序排序

For i=1 To n-1

  x=i

  For j=i+1 To n

    If  Then x=j ’

  Next j

  If x <> i Then

   tmp=s(x)

   s(x)=s(i)

   s(i)=tmp

  End If

 Next i

 ‘降序排序后,每隔两本就是一本可以减免的书

 cost=0 : payment=0

 For i=1 To n

  cost=cost+s(i)

 If  Then   ‘

   payment=payment+s(i)

  End If

 Next i

 Label1.Caption=“总金额:” & cost

 Label2.Caption=“实付:” & payment

End Sub

举一反三
返回首页

试题篮