题目内容 (请给出正确答案)
[主观题]

阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】 函数QuickSort是在一维数组A[

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

【说明】

函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。

【函数】

void QuickSort(int A[ ],int s,int t)

{ int i=s,j=t+1,temp;

int x=A[s];

do{

do i ++ ;while (1);

do j -- ;while(A[j]>x);

if(i<j){temp=A[i];(2);(3);}

}while(i<j);

A[a] =A[j];A[j] =x;

if(s<i-1) (4);

if(j+1<t) (5);

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内…”相关的问题

第1题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】 著名的四色定理指出任何平面

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

【说明】

著名的四色定理指出任何平面区域均可以用4种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过4种颜色的着色方案。

【函数】

include <stdio.h>

define N 10 /*要着色的N个区域*/

void output(int color[]) /*输出一种着色方案 color[i]的值为区域i所着颜色*/

{

int i;

for (i=0; i<N; i++)

printf("%4d", color[i]);

printf("\n");

}

int back(int *ip, int color[j] /*回溯*/

int c=4;

while (c==4)

{

if (*ip<=0)

return 0:

--(*ip);

c=(1);

color[*ip]=-1;

}

return c;

}

/*检查区域i,考查c种颜色的可能性 */

int colorOK(iht i, int c, int adj[][N], int color[])

{

int j;

for(j=0; j<i; j++)

if ((2))

return 0;

return 1;

}

/*为区域i选一种可着的颜色*/

int select(int i, int c, int adj[][N], int color[])

/*寻找各种着色方案 adj[i][j]=1表示区域i与区域j不相邻*/

{

int k;

for (k=c; k<=4; k++) /*4种颜色*/

if (colorOK((3)))

return k;

return 0;

}

int coloring(int adj[][N])

{

int color[N], i, c, cnt;

for (i=0; i<N; i++) color[i]=-1:

i=c=0; cnt=0;

while (1)

[

if ((c=(4))==0)

{

c=back(&i, color);

if (c==0)

return cnt;

}

else

{

(5);

i++;

if(i==N)

{

output(color);

++cnt;

c=back(&i, color);

}

else

c=0;

}

}

}

void main()

{

int adj[N][N]={ {0, 1, 0, 1, 1, 1, 1, 1, 1, 1},

{1, 0, 1, 1, 0, 1, 1, 1, 1, 0},

{0, 1, 0, 1, 0, 1, 1, 0, 1, 1},

{1, 1, 1, 0, 1, 1, 0, 0, 1, 1},

{1, 0, 0, 1, 0, 1, 0, 0, 0, 0},

{1, 1, 1, 1, 1, 0, 1, 0, 0, 1},

{1, 1, 1, 0, 0, 1, 0, 0, 1, 0},

{1, 1, 0, 0, 0, 0, 0, 0, 1, 1},

点击查看答案

第2题

阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。 【函数2.1说明】 有1、2、3、4四个数

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

【函数2.1说明】

有1、2、3、4四个数字,输出由这些数字组成的互不相同且无重、复数字的三位数。

【函数2.1】

main()

{

int i,j,k;

printf("\n");

for((1)) /*以下为三重循环*/

for(j=1; j<5;j++)

for (k=1;k<5;k++)

{

if ((2)) /*确保i, j, k 三位互不相同*/

printf("%d,%d,%d\n",i,j,k);

}

}

【函数2.2说明】

计算并输出100之内的素数,每行输出10个,超过10个则换行。

【函数2.2】

include <stdio.h>

include "math.h"

define N 101

main()

{

int i,j,line,a[N];

for(i=2;i<N;i++)(3);

for(i=2;i<sqrt(N);i++)

for(j=i+1;j<N;j++)

{

if(a[i]!=0&&a[j]!=0)

if(a[j]%a[i]==0)

(4);

}

printfC\n");

for(i=2,line=0;i<N;i++)

{

if(a[i]!=0)

{

prinff("%5d",a[i]);

(5);

}

if(line==10)

{

prinff("\n");

line=0;

}

}

}

点击查看答案

第3题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】 设计一个类模板SamPle用于对一

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】

设计一个类模板SamPle用于对一个有序数组采用二分法查找元素下标。

【C++程序】

include < iostream. h >

define Max 100 //最多元素个数

template < class T >

class Sample

{

T A[Max]: //存放有序数序

int n: //实际元素个数

public

Sample( ) { } //默认构造函数

Sample(T a[] ,int i); //初始化构造函数

int seek(T c);

void disp( )

{

for(int i=0;i <n;i ++)

cout<<A[i] <<" ";

cout<<endl:

} } template < class T >

Sample <T>: :Sample(T a[ ],int i)

{

n=i:

for( intj =0;j < i;j ++ )

(1);

}

template < class T >

int Sample < T >:: seek( T c)

{

int low =0,high = n-1 ,mid;

while((2))

{

mid = (low + high)/2;

if((3))

return mid;

else if( (4) )

low=mid+|;

else

(5);

}

return-1;

}

void main( )

{

char a[ ] ="acegkmpwxz";

Sample < char > s(a, 1);

cout<<"元素序列:" ;s. disp( );

cout<<"元素'g'的下标:"<<s. seek('g') <<endl;

}

点击查看答案

第4题

阅读下列函举说明和C代码,将应填入(n)处的字句写在对应栏内。【说明4.1】 假设两个队列共享一个循

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

【说明4.1】

假设两个队列共享一个循环向量空间(如图1-2所示),其类型Queue2定义如下:

typedef struct {

DateType data [MaxSize];

int front[2],rear[2];

}Queue2;

对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数.EnQueue (Queue2*Q,int i,DaleType x)的功能是实现第i个队列的入队操作。

【函数4.1】

int EnQueue(Queue2 * Q, int i, DateType x)

{ /*若第i个队列不满,则元素x入队列,并返回1;否则,返回0*/

if(i<0‖i>1) return 0;

if(Q->rear[i]==Q->front[(1)]

return 0;

Q->data[(2)]=x;

Q->rear[i]=[(3)];

return 1;

}

【说明4.2】

函数BTreeEqual(BinTreeNode*T1,BinTtneNode*T2)的功能是递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同,并且对应结点的值也相同时,才被认为相等。

已知二叉树中的结点类型BinTreeNode定义为:

struct BinTreeNode {

char data;

BinTreeNode * left, * right;

};

其中dau为结点值域,leR和risht分别为指向左、右子女结点的指针域,

【函数4.2】

int BTreeEqual(BinTreeNode * T1, BinTreeNode * T2)

{

if(Ti == NULL && T2 == NULL)return 1 /*若两棵树均为空,则相等*/

else if((4))return 0; /*若一棵为空一棵不为空,则不等*/

else if((5)) return 1; /*若根结点值相等并且左、右子树*/

/*也相等,则两棵树相等,否则不等*/

else return 0;

}

点击查看答案

第5题

阅读以下说明和Visual Basic代码,将应填入(n)处的字句写在对应栏内。[说明] 本程序实现的功能是查

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

[说明]

本程序实现的功能是查看磁盘上的图片及其基本信息。程序运行界面如下图所示,用户只要逐步选择适当的驱动器、目录和图片文件,图片内容随即显示在界面中央,文件的基本信息则呈现于右侧文本框中。用户还可以删除或复制选中的图片文件。

在开发过程中,驱动器列表框名为Drivel,目录列表框名为Dir1,文件列表框名为File1,图片的显示由Image控件对象Image1来实现,文件信息文本框名为Text1,按钮“删除文件”和“复制到…”分别名为CmdDel和CmdCpy。

[Visual Basic代码]

Dim filename As String

Dim fso As New (1), file As file

Private Sub Form_Load()

Set fso = CreateObject("Scripting.FileSystemObject")

Drivel.Drive = "F:"

End Sub

Private Sub Dir1_Change()

File1.path=Dirl.path ’更新文件列表框的路径

End Sub

Private Sub Drive1_Change()

Dir1.path =(2) ’更新目录列表框的路径

End Sub

Private Sub File1_Click()’文件列表框的单击事件响应代码

If Right(Dir1.path, 1) <>"\" Then

filename = Dir1.path & "\" & Filel.filename

Else

filename = Dir1.path & Filel.filename

End If

Image1.Picture =(3)

Set file = fso.GetFile(filename)

Text1. Text = "文件名称:" & file.Name & vbCrLf & _

"文件大小:" & file. Size & "字节" & vbCrLf & _

"文件类型:" & file.Type & vbCrLf & _

"创建日期:" & file. DateCreated & vbCrLf & _

"修改日期:" & file. DateLastModified

End Sub

Private Sub CmdCpy_Chck()’按钮“复制到…”的单击事件响应代码

Dim path As String

path = InputBox("请输入目标路径(含文件名):")

(4)

End Sub

Private Sub CmdDel_Click()’按钮“删除文件”的单击事件响应代码

(5)

End Sub

点击查看答案

第6题

阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。[说明] 若矩阵Am×n中存在某个元素aij满足:

阅读下列函数说明和C函数,回答问题1~2,将解答填入栏内。

[说明]

若矩阵Am×n中存在某个元素aij满足:aij…是第i行中最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。下面程序的功能是输出A中所有鞍点,其中参数A使用二维数组表示,m和n分别是矩阵A的行列数。

[程序]

void saddle (int A[ ] [ ], int m, int n)

{ int i,j,min;

for (i=0;i <m;i + + )

{ min: (1);

for (j=1; j<n; j+ +)

if(A[i][j]<min) (2);

for (j=0; j<n; j+ +)

if ((3))

{ p=0;

while (p<m&&(4))p+ +;

if (p > = m)printf ("%d,%d,%d\n",i,j,min);

}

}

}

[问题1] 将函数代码中的(1)~(4)处补充完整

[问题2]在上述代码的执行过程中,若A为矩阵,则调用saddle(A,3,3)后输出是(5)。

点击查看答案

第7题

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

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

【说明】

本应用程序是一个乘法计算器,其运行窗口如图2所示。

在该界面中,“被乘数”、“乘数”以及“积”等文字为标签,相应的3个输入输出数据框为文本框,此外还有3个命令按钮。用户在“被乘数”和“乘数”相应的文本框内输入数据,再单击“运算”按钮,便能在“积”对应的文本框中看到相乘的结果;当用户单击“清除”按钮时,就会清除各文本框中的数据;当用户单击“关闭”按钮时就会关闭该窗口并退出应用程序。用户不能在“积”对应的文本框中输入数据。

【属性设置】

各个对象、有关的属性名以及需要修改的属性值设计如下:

【程序】

Private Sub cmdMultiply_Click( )

txt3. Text =Trim(Str$ ((3)) '加法运算获得和数

End Sub

Private Sub (4) (

txt1. Text=" " '空字符串赋值给文本框txt1的内容

txt2. Text=" " '空字符串赋值给文本框txt2的内容

txt3. Text=" " '空字符串赋值给文本框txt3的内容

End Sub

Private Sub cmdClose_Click( )

(5) '退出应用程序

End Sub

点击查看答案

第8题

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

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

【说明】

函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为

typedef struct node {

int key;

struct node * next;

} *LinkedList;

【函数】

int DelA_InsB ( LinkedList La, LinkdeList Lb,int key1,int key2,,int len)

{ LinkedList p,q,s,prep,pres;

int k;

if( ! La->next || ! Lb-> next ||| en <=0)return-1;

p = La -> next;prep = La;

while(p&&p- >key != key1) { /*查找表A中键值为key1的结点*/

prep = p;p = p -> next;

}

if( ! p) return - 1; /*在表A中不存在键值为key1的结点*/

q=p;k=1;

while(q &&(1))} /*表A中不存在要被删除的len个结点*/

(2);k++;

}

if( ! q)return -1; /*表A中不存在要被删除的len个结点*/

s = Lb -> next;(3);

while(s && s -> key != key2) { /*查找表B中键值为key2的结点*/

pres =s;s =s->next;

}

if( ! s) return - t; /*表B中不存在键值为key2的结点*/

(4)=q-> next; /*将表A中的len个结点删除*/

q->next=(5);

pres -> next = p; /*将len个结点移至表B */

return 0;

}

点击查看答案

第9题

阅读以下算法说明和C程序,根据要求回答问题1和问题2。 【说明】 【算法4-1】的功能是用来检查文本文件

阅读以下算法说明和C程序,根据要求回答问题1和问题2。

【说明】

【算法4-1】的功能是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号而没有对应的左括号或者右括号,则给出相应的提示信息,如图1-18所示。

在【算法4-1】中,slack为一整数栈。算法中各函数的说明如表1-11所示。

【算法4-1】

将栈stack置空,置EOF为false

Ch<-nextch();

while(not EOF)

k←kind(ch);

if (k ==(1) ) {

push( (2) );

push( (3) );}

else if( k ==(4) )

if(not empty()){

pop();

pop();)

else{

显示错误信息(缺少对应左括号或右括号):

显示行号row:显示列号col:)

End if

End if

Ch<-nextch();

end while

if(not empty())

显示错误信息(缺少对应左括号或右括号):

While(not empty()){

row<-pop();

col<-pop():

显示行号row:显示列号col;)

End while

End if

为了识别更多种类的括号,对【算法4-1】加以改进后得到【算法4-2】。【算法4-2】能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如表1-12所示。

【算法4-2】

将栈stack置空,置EOF为false

Ch<-nextch();

while(not EOF){

k<- kind(ch);

if(k > 0)

if(判断条件1){

push( (5) );

push( (6) );

push( (7) );}

else if(判断条件2 and判断条件3){

pop();

pop();

pop();}

else {

显示错误信息(缺少对应左括号或右括号);

显示行号row;显示列号col;)

end if

end if

ch <- nextch();)

end while

if(not empty()){

显示错误信息(缺少对应左括号或右括号);

While(not empty()){

Pop();

row <- pop():

col <- pop();

显示行号row;显示列号col;))

end while

end if

请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。

点击查看答案

第10题

该贪心算法的时间复杂度为(5)。

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

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

警告:系统检测到您的账号存在安全风险

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

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信