阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。
【说明】
下面代码里,instr是一个抽象类,它被两个子类wind和rain分别实现,而brass又继承了wind类,并覆盖了play方法。
【程序】
(1) class instr{
(2) Void play();
}
class wind (3) instr{
void play(){System.out.println("wind play!");}
}
class rain extends instr {
void play(){System.out.println("rain play!");}
}
class brass extends (4) {
void play(){System.out.println("brass play!"));}
}
public class music{
static void tuneAll(instr e[]){
for(int i=0;i<e.length;i++)
e[i].play();
}
public (5) void main(String[]args){
instr orch[]=new instr[3];
int i=0;
orch[i++]=new wind();
orch[i++]=new rain();
orch[i++]=new brass();
tuneAll(orch);
}
}
第1题
的节点。
[C程序]
define MaxSize 1000
typedef struct node {
TelemType data ;
struct node *ichiid,*rchiid;
}BiNode,*BiTree;
void Path(BiTree t,BiNode *P)
{BiTree *stack[Maxsize],*stackl[Maxsize],*q;
int tag[Maxsize],top=0,topl;
q=t;
/*通过先序遍历发现P*/
do{while(q!=NULL &&q!=p)
/*扫描左孩子,_日.相应的节点不为P*/
{ (1) ;
stack[top]=q;
tag[top]=0;
(2) ;
}
if(top>0)
{ if(stack[top]=P) break; /*找到P,栈底到栈顶为t到P*/
if(tag[top]==1)top--;
else { q=stack[top];
q=q->rchiid;
tag[top]=1;
}
}
} (3) ;
top--;topl=0;
while(top>0) {
q=stack[top]; /*反向打印准备*/
topl++;
(4) ;
top--;
}
while( (5) ){ /*打印栈的内容*/
q=stackl[topl]j
printf(q->data);
topl--;
}
}
第2题
回-1。
所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如,28的因子为1,2,4,7,14,而28=1+2+4+7+14,因此28是“完全数”。
[C函数1]
int factors(int n)
{ int i,s;
for(i=1,s=0;i<=n/2;i++)
if(n%i=0) (1)______;
if( (2)______ )return 0;
rerurn-1;
}
[说明2]
函数int maxint(int a[],int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。
[C函数2]
int maxint(int a[],int k)
{ int t;
if( (3)_____ ) return (4)_______;
t=maxint(a+1, (5)______ );
return(a[0]>t)?a[0]:t;
}
第4题
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内【说明】
编写字符界面的Application程序,接收依次输入的10个整型数据,每个数据一行,将这些数据按升序排序后从系统的标准输出设备输出。
【Java代码】
import java.iO.*;
import java.util.* ;
public class compositor
{
public static void main ( String args[] )
{
final int NUMBER=10;
Vector dataVector=new Vector ();
try
{
BufferedReader br=new BufferedReader (
(1) InputStreamReader ( System.in ));
System.out.println ("请输入"+NUMBER+"个整数");
for (int i=0; i<NUMBER; i++ )
{
int temp=Integer.parselnt ( br.(2));
int low=0, high=i-1, mid=0;
while ((3))
{
System.out.println ( low+","+mid+","+high );
(4);
if ((( Integer ) dataVectOr.get( mid )) .intValue () ==temp )
{
data Vector.insertElementAt ( new Integer ( temp ), mid );
break;
}
else if ((( Integer ) dataVector.get ( mid )) .intValue ( ) >temp )
{
high=mid-1;
}
else
{
(5);
}
}
if ( low>high )
{
dataVector, insertElementAt ( new Integer ( temp ), iow );
}
}
//输出
System.out.println ( "\n升序的排序结果为; ");
for (int i=0; i<NUMBER; i++ )
{
System.out.print ( dataVector.get( i ) .toString () +"\t" );
}
}
catch ( NumberFormatException nfe)
{
System.out.println ( nfe.toString ());
System.out.println ( "整数格式输入错误。");
}
catch ( IOException ioe )
{
System.out.println ( ioe.toString ());
}
}
}
第5题
阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下代码实现了当用户退出界面时,判断TextEdit中的文字是否发生改变,弹出对话框判断,让用户选择是否保存文件或取消退出界面操作。阅读下面的代码,将其补充完整。
【代码7-1】
Begin VB.Form. Forml
//...窗体描述(略)
Begin VB.TextBox TextEdit
Height = 1830
Left = 180
Tablndex = 0
Text = "TextEdit"
Top = 360
Width = 3885
End
//...窗体描述(略)
End
【代码7-2】
Dim txtchange As Boolean
Dim myval As String
Private Sub Form. Load ()
TextEdit.Text: "CIU, 中国软考联盟!"
txtchange = False
End Sub
【代码7-3】
Private Sub TextEdit_Change ()
Static notchange As Boolean
(1)
notchange = Tree
End Sub
Private Sub Form_Unload ( Cancel As Integer )
Dim myval As String
If (2) Then
myval = MsgBox ( "保存文件的更改吗?", vbYesNoCancel, "提示信息" )
If (3) Then
MsgBox "保存成功"
End
End If
If (4) Then End
If (5) Then Cancel = 1
End If
End Sub
第6题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[函数2.1说明]
将一个正整数分解质因数。例如:输入90,打印出90=2×3×3×5。
[函数2.1]
fun 1 ( int n )
{
int i;
for ( i=2;i<=n; i++)
{
while (((1))
{
if (n %i==0 )
{ printf ( "%d*",i );
(2)
}
else
break;
}
}
printf ( "%d",n ) ;}
[函数2.2说明]
下面程序的功能是:海滩上有一堆桃子,5只猴子来分。第1只猴子把这堆桃子平均分为5份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第2只猴子把剩下的桃子又平均分成5份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第3、第4、第5只猴子都是这样做的,问海滩上原来最少有多少个桃子?
[函数2.2]
main ( )
{int i, m, j, k, count;
for ( i=4;i<10000;i+=4 )
{ count=0;
(3);
for ( k=0;k<5;k++ )
{
(4);
i=j;
if ( j%4==0 )
(5);
else
break;
}
i=m;
if ( count==4 )
{printf ( "%d\n", count) ;
break;}
}
}
第7题
阅读下列程序说明和C代码,回答问题1~2。
[说明]
本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,井取走3的倍数,于是留下5、7。反复重复上述步骤,直至筛中为空时,工作结束,求得2至 10中的全部素数。
程序中用数组sieve表示筛子,数组元素sieve[i]的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。
[程序]
include < stdio, h >
define MAX 22500
main( )
{ unsigned int i , range , factor , k;
int sieve[MAX];
prinff( "please input the 'range:" );
scanf(" %d" ,&range); /* range 指出在多大的范围内寻找素数* /
for(i=2 ;i<=range; i++) (1); /*筛子初始化*/
factor = 2 ;
while (factor < = range) {
if((2)= = 1)l /*筛子中最小数是素数*/
pfinff( "% d\t" ,factor);
k = factor;
while (k < =range) { /* 取走素数的倍数*/
(3);
k=(4);
factor + +;
}
}
[问题1]将程序代码中的(1)~(4)处补充完整。
[问题2]在上述代码的执行过程中,若factor为5,从筛子中取走的头两个数是5和(5)。
第8题
阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。
[说明]
函数Printprime(int UpBound)的功能是输出1到UpBound以内的全体素数。
[函数2.1]
void PrintPrime(int UpBound)
printf("2," );
for(i=3; i<UpBound; i+ =2) {
int k = sqrt(i);
for(j=3; j<= k;(1)) /*检查i是否有3到k以入的奇因数*/
if((2)) break;
fi((3)) printf("%d", i);
[函数2.2说明]
递归函数invert(int a[],int k),int k)的功能是将数组a中的前k个元素逆置。
[函数2.2]
void invert(int a[ ], int k)
{ int t;
if ((4)) {
invert((5));
t=a[0];
a[0] =a[k-1];
a[k-l]=t;
}
}
第9题
阅读以下说明和Java代码。
[说明]
已知类Stock和类JavaMain都定义在JavaMain.java文件中,类Stock的定义中有四处错误,分别在代码的第01、02、06、07行。请修改错误并给出修改后该行的完整代码,并写出改正错误后程序运行的输出结果。
[Java代码]
01 public class Stock{
02 static {
03 shares=0;
04 share_val=0.0;
05 }
06 private Stock(){getData();}
07 private Stock(int n, double pr=0){
08 shares=n;
09 share_val=pr;
10 getData();
11 }
12 public void getData(){
13 System.out.print(shares+":"+share_val+"");
14 }
15 private int shares; //非静态变量
16 private double share_val; //非静态变量
17 };
18
19 public class JavaMain{
20 public static void main(String args[]){
21 Stock a=new Stock();
22 Stock b=new Stock(1,67.5);
23 //其它代码省略,且代码无输出
24 }
25 }
第10题
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。
[说明]
编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
[Java 代码]
import java. io.* ;
public class abc
{
public static void main ((1))
{int i, n=10, max=0, min=0, temp=0;
try {
BufferedReader br = new BufferedReader (
new InputStreamReader ( System.in ) );
max = min =Integer. parselnt ( br. readLine ( ) );
}. (2) ( IOExccption e ) {} ;
for ( i=2 ; i<=n ; i++ ) {
try {
BufferedReader br = new (3) (
new InputStreamReader ( System. in ) );
temp =(4) ( br. readLine ( ));
if (temp>max ) max=temp;
if (temp<min) (5)
} catch (IOException e ) {};
}
System.out.println ( "max="+max+"\nmin="+min );
}
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!