阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。[说明]下面的程序演示了根据随机产生的奖牌数,生成金银奖牌榜的过程。程序使用的排序法是简单排序法。以金牌得数为例,其思想是选择最大的元素,将它交换到最前面;然后对剩下的部分采用同样的方法,直到全部排序完成。程序界面中,左右两个文本框分别用于存放随机产生的奖牌数以及生成的奖牌榜,名为Text1和Text2,上下两个按钮分别名为Command1和Command2。代码中使用的量主要有:一维数组 cntries,用于存储10个国家的名称,二维数组medals,其元素medals(i,0)和medals(i,1)分别用于存放第i个(i从0开始)国家的金、银牌数目。[Visual Basic代码]Dim cntries(10) As String, medals(10,2) As Integer’随机产生奖牌数Sub newMedals()…… ’为数组cntries和medals赋值End Sub’输出奖牌榜Sub printOut(txt As (1) )Dim strResuh As String, i As IntegerstrResult=“国家” Chr(9) “金牌数” Chr(9) “银牌数” vbCrLfFor i=0 To 9strResult = strResult cntries(i) Chr(9) medals(i,0) Chr(9) medals(i,1) vbCrLfNexttxt.Text = strResultEnd Sub’交换两变量的值Sub exchange( (2) a As Variant, (2) b As Variant)Dim temp As Varianttemp = a: a = b: b = tempEnd Sub’随机产生并输出奖牌数Private Sub Command1_Click()newMedalsprintOut Text1End Sub’生成并输出奖牌榜Private Sub Command2_Click()Dim i,j, k As Integer, temp As StringFor i = 0 To 9 ’按金牌数排序j = i ’找到自第i个位置起全部数据中金牌得数最多者,记其下标为jFor k = i + 1 To 9If (3) Then j=kNextIf i < > j Then ’若i,j不等,则交换对应位置的国家名、金银牌数目exchange cntnes(i), entries(j)exchange medals(i, 0), medals(j, 0)exchange medals(i, 1), medals(j, 1)End IfNextFor i = 0 To 9 ’按银牌数进行二次排序j = iFor k = i + 1 To 9If medals(k,0) <> medals(j, 0) Then (4)If (5) Then j = kNextIf i < > j Thenexchange cntries(i), cntries(j)exchange medals(i, 1), medals(j, 1)End IfNextprintOut Text2End Sub

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

[说明]

下面的程序演示了根据随机产生的奖牌数,生成金银奖牌榜的过程。程序使用的排序法是简单排序法。以金牌得数为例,其思想是选择最大的元素,将它交换到最前面;然后对剩下的部分采用同样的方法,直到全部排序完成。

程序界面中,左右两个文本框分别用于存放随机产生的奖牌数以及生成的奖牌榜,名为Text1和Text2,上下两个按钮分别名为Command1和Command2。代码中使用的量主要有:一维数组 cntries,用于存储10个国家的名称,二维数组medals,其元素medals(i,0)和medals(i,1)分别用于存放第i个(i从0开始)国家的金、银牌数目。

[Visual Basic代码]

Dim cntries(10) As String, medals(10,2) As Integer

’随机产生奖牌数

Sub newMedals()

…… ’为数组cntries和medals赋值

End Sub

’输出奖牌榜

Sub printOut(txt As (1) )

Dim strResuh As String, i As Integer

strResult=“国家”& Chr(9) &“金牌数”& Chr(9) &“银牌数”& vbCrLf

For i=0 To 9

strResult = strResult & cntries(i) & Chr(9) & medals(i,0) & Chr(9) & medals(i,1) & vbCrLf

Next

txt.Text = strResult

End Sub

’交换两变量的值

Sub exchange( (2) a As Variant, (2) b As Variant)

Dim temp As Variant

temp = a: a = b: b = temp

End Sub

’随机产生并输出奖牌数

Private Sub Command1_Click()

newMedals

printOut Text1

End Sub

’生成并输出奖牌榜

Private Sub Command2_Click()

Dim i,j, k As Integer, temp As String

For i = 0 To 9 ’按金牌数排序

j = i ’找到自第i个位置起全部数据中金牌得数最多者,记其下标为j

For k = i + 1 To 9

If (3) Then j=k

Next

If i < > j Then ’若i,j不等,则交换对应位置的国家名、金银牌数目

exchange cntnes(i), entries(j)

exchange medals(i, 0), medals(j, 0)

exchange medals(i, 1), medals(j, 1)

End If

Next

For i = 0 To 9 ’按银牌数进行二次排序

j = i

For k = i + 1 To 9

If medals(k,0) <> medals(j, 0) Then (4)

If (5) Then j = k

Next

If i < > j Then

exchange cntries(i), cntries(j)

exchange medals(i, 1), medals(j, 1)

End If

Next

printOut Text2

End Sub


相关考题:

●试题七阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdGene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。【程序代码】Dim intA(1 To 10)As IntegerPrivate Sub cmdGene_Click()Dim intI As IntegerRandomizeFor intI=1 To 10intA(intI)= (1)Next intIEnd SubPrivate Sub cmdSort_Click()Dim intI,intJ,intMin,intTemp As IntegerFor intI=1 To 9intMin=intA(intI)For intJ= (2) To 10If intA(intJ)intMin ThenTemp=intA(intJ)intA(intJ)= (3)intMin=intTempEnd IfNext intJ(4)(5)For intI=1 To 10Print Str(intA(intI))+" ";Next intINext IntIPrintEnd Sub

阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【说明】程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。【程序】define N 10main(){void (1);int i,a[N];for(i=0;i<10,i++) /*输入*/scanf(“%d”,a[i]);(2);for(i=0;i<N,i++) /*输出*/printf(“%3d”,a[i]);}void selectSon(int x[],int n){int i,j,k,t;for(int i=0; (3);i++){k=i;for(j=i+1;j<n;j++)if (4) k=j;if (5){t=x[i];x[i]=x[k];x[k] =t;}}}

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】以下程序为求行列式X(5,5)的值S。【Visual Basic代码】Private Function col ( byval x ( 5,5 ) as integer ) as longdim fesult as longdim temp as longdim I as integerdim j as integerdim k as imegerresult = 0for I = to 5(1)for j = 1 to 5if I+j>6 thenk= ( 1+j ) mod 5elsek=1endiftemp=temp*x ( k,j )(2)result=(3)(4)(5)End function

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明]设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。

阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】已知窗体上有两个名为cmdGene和cmdSort的命令按钮。单击cmdCene按钮时,随机产生10个[1,100]范围内的整数并将它们放在数组intA中;单击cmdSort按钮时,用选择法排序这10个数并输出。【程序代码】Dim intA(1 To 10)As integerPrivate Sub cmdGene_Click( )Dim intl As IntegerRandomizeFor intl = 1 To 10intA(intl) =(1)Next intlEnd SubPrivate Sub cmdSort_Click( )Dim intl, intJ,intMin, intTemp As IntegerFor intl = 1 To 9intMin = intA(intl)For intJ=(2) To 10If intA(intJ) < intMin ThenTemp = intA(intJ)intA(intJ)=(3)intMin = intTempEnd IfNext intJ(4)(5)For intl = 1 To 10Print Str(intA(intl))+" ";Next intlNext lntlPrintEnd Sub

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。【说明】阅读下面几段C++程序回答相应问题。比较下面两段程序的优缺点。①for (i=0; i<N; i++ ){if (condition)//DoSomething…else//DoOtherthing…}②if (condition) {for (i =0; i<N; i++ )//DoSomething}else {for (i=0; i <N; i++ )//DoOtherthing…}

试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。