重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 计算机类考试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明] Kruskal算法是一种构造图的最

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

[说明]

Kruskal算法是一种构造图的最小生成树的方法。设G为一无向连通图,令T是由G的顶点构成的于图,Kmskal算法的基本思想是为T添加适当的边使之成为最小生成树:初始时,T中的点互相不连通;考察G的边集E中的每条边,若它的两个顶点在T中不连通,则将此边添加到T中,同时合并其两顶点所在的连通分量,如此下去,当添加了n-1条边时,T的连通分量个数为1,T便是G的一棵最小生成树。

下面的函数void Kruskal(EdgeType edges[],int n)利用Kruskal算法,构造了有n个顶点的图 edges的最小生成树。其中数组father[]用于记录T中顶点的连通性质:其初值为father[i]=-1 (i=0,1,…,n-1),表示各个顶点在不同的连通分量上;若有father[i]=j,j>-1,则顶点i,j连通;函数int Find(int father[],int v)用于返回顶点v所在树形连通分支的根结点。

[函数]

define MAXEDGE 1000

typedef struct

{ int v1;

int v2;

}EdgeType;

void Kruskal(EdgeType edges[],int n)

{ int father[MAXEDGE];

int i,j,vf1,vt2;

for(i=0;i<n;i+ +) father[i]=-1;

i=0;

j=0;

while(i<MAXEDGE && j<(1))

{ vf1=Find(father,edges[i].v1);

vf2=Find(father,edges[i].v2);

if((2))

{(3)=vf1;

(4);

printf("%3d%3d\n",edges[i].v1,edges[i].v2);

}

(5);

}

}

int Find(int father[],int v)

{ int t;

t=v;

while(father[t]>=0) t=father[t];

return(t);

}

查看答案
更多“阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明] Kruskal算法是一种构造图的最”相关的问题

第1题

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】 下面代码里,instr是一个抽象类

阅读以下说明和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);

}

}

点击查看答案

第2题

已知一棵二叉树用二叉链表存储,t指向根节点,P指向树中任一节点。下列算法为输出从t到P之问路径上

的节点。

[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--;

}

}

点击查看答案

第3题

函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返

回-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题

客户端所发出的Dhcpdiscover报文中,源IP地址为 _____ ,目的IP地址为 ______ 。

点击查看答案

第5题

阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内【说明】 编写字符界面的Application程序

阅读以下说明和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 ());

}

}

}

点击查看答案

第6题

阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。【说明】 以下代码实现了当用户

阅读以下说明和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

点击查看答案

第7题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [函数2.1说明] 将一个正整数分

阅读以下函数说明和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;}

}

}

点击查看答案

第8题

阅读下列程序说明和C代码,回答问题1~2。[说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范

阅读下列程序说明和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)。

点击查看答案

第9题

阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。[说明] 函数Printprime(int UpBound)

阅读下列程序说明和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;

}

}

点击查看答案

第10题

阅读以下说明和Java代码。[说明] 已知类Stock和类JavaMain都定义在JavaMain.java文件中,类Stock的

阅读以下说明和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 }

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,如果您知道正确答案,欢迎您来纠错

上学吧找答案