题目

食堂排队买菜问题。在食堂排队买菜时,每个同学都有一个窗口买菜时间,如果某同学的等待时间超过他在窗口买菜时间的3倍,他就会不愉快,并且不参与排队,反之是愉快的。等待时间是指排在该同学之前的所有人的买菜时间之和。已知每个同学在窗口的买菜时间,请确定如何排队才能使愉快的人数最多,并输出最多的人数。例如:10个同学的买菜时间如下表所示,则最多有8个人是愉快的。 学生编号 1 2 3 4 5 6 7 8 9 10 买菜时间 3 2 5 5 6 7 1 8 1 3 最终是否参与排队 是 是 是 是 否 是 是 否 是 是 Const n = 10 Dim a(1 To n)As Integer Private Sub Command1_Click() Dim i As Integer,s As Integer,ans As Integer,t As Integer '读取每个学生的买菜时间,依次存储在数组a中,代码略 For i = 1 To n-1   k = i   For j = n To i + 1 Step - 1     If    Then k = j   Next j   If a(i)<>a(k)Then t=a(i):a(i)= a(k):a(k)=t Next i s = 0:ans = 0 For i = 1 To n   If  Then s=s + a(i):ans = ans + 1 Next i Label1.Caption ="共有"+ Str( ans)+"个人是愉快的,且参与排队买菜。" (1) 代码“Private Sub Command1_Click()”中的Command1是(单选,填字母:A .对象名/B .事件名/C .事件处理过程名)。 (2) 请在划线处填入合适代码。 (3) 程序代码的加框处有错,请改正。 (4) 若10个同学的买菜时间都相同,则有个人是愉快的,且参与排队。 答案: 【1】A a(j)<a(k) a(i)*3>=s 【1】4
信息技术 试题推荐
最近更新