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

阅读以下说明和流程图,回答问题将解答填入对应栏。 [说明] 下面的流程图,用来完成计算一组数组

阅读以下说明和流程图,回答问题将解答填入对应栏。

[说明]

下面的流程图,用来完成计算一组数组中的中值,其方法是:将数组中的一个值与其他值比较,并计算大于等于被比较数的数值的个数,以及小于等于被比较数的数值的个数,如果两数都大于n/2,则已经找到了中值,否则继续之前的步骤。

注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述;

阅读以下说明和流程图,回答问题将解答填入对应栏。 [说明] 下面的流程图,用来完成计算一组数组阅读以

[问题]

将流程图的(1)~(5)处补充完整。

查看答案
更多“阅读以下说明和流程图,回答问题将解答填入对应栏。 [说明] 下面的流程图,用来完成计算一组数组”相关的问题

第1题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 已知r[1...n]是n个记

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

[说明]

已知r[1...n]是n个记录的递增有序表,用折半查找法查找关键字为k的记录。若查找失败,则输出“failure",函数返回值为0;否则输出“success”,函数返回值为该记录的序号值。

[C函数]

int binary search(struct recordtype r[],int n,keytype k)

{ intmid,low=1,hig=n;

while(low<=hig){

mid=(1);

if(k<r[mid].key) (2);

else if(k==r[mid].key){

printf("succesS\n");

(3);

}

else (4);

}

printf("failure\n");

(5);

}

点击查看答案

第2题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明1] 函数void fun(char*w

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

[说明1]

函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。

[C函数1]

void fun(char*W,char x,int*n)

{ int i,P;

p=0;

w[*n]=x;

while(x>w[p]) (1) ;

for(i=*n,i>p;i--)w[i]=(2);

w[p]=x;

++*n;

}

[说明2]

函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。

[C函数2]

void revstr(char*s)

{ char*p,c;

if(s==NULL)return;

p=(3); /*p指向字符串s的最后一个有效字符*/

while(s<p){ /*交换并移动指针*/

C=*s;

(4)=*p;

(5)=c;

}

}

点击查看答案

第3题

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

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

点击查看答案

第4题

阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。[函数2.1说明] 下面程序的功能是计算

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

[函数2.1说明]

下面程序的功能是计算x和y的最小公倍数。

[函数2.1]

main()

{ int m,n,d,r;

seanf("%d %d",&m,&n);

if(m<n) {r=m;m=n;n=r;}

(1);

while (d%n! =0) (2);

printf("%d\n",d);

}

[函数2.2说明]

下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。

[函数2.2]

include <stdio.h>

main()

{ char c,preChar='\0';

c = getchar();

while(c! = '.'){

if((3)) putchar(c);

else if(preChar! =' ') putchar(c);

(4);

c=(5);

}

}

点击查看答案

第5题

阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内[说明] 本程序在3×3方格中填入1到10以

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

本程序在3×3方格中填入1到10以内9个互不相等的整数,使所有相邻两个方格内的两个整数之和为质数。程序的输出是全部满足条件的方格。

方格的序号如下图所示。程序采用试探法,从序号为0的方格开始,依次为当前方格寻找一个合理的可填整数,并在当前位置正确填入后,为下一方格寻找可填入的合理整数;如不能为当前方格寻找一个合理的可填整数,就要后退到前一方格,调整前一方格的填入整数;当序号为8的方格也填入合理的整数后,就找到了一个解。

为检查当前方格所填整数的合理性,程序引入数组CheckMatrix,存放需要进行合理性检查的相邻方格的序号。事实上,CheckMatrix中只要求第i个方格中的数向前兼容,即填写第4个方格时,只检查在它之前、与之相邻的第1,3个方格是否满足和为素数的条件。

[程序]

include <stdio.h>

int pos,a[9],b[11]; /*用于存储方格所填入的整数*/

void write(int a[]) /*方格输出函数*/

{ ……}

int isPrime(int m) /*素数判断函数,若m为素数则返回1,否则返回0*/

{ ……}

int selectNum(int start) /*找到start到10之间尚未使用过的最小的数,若没有则返回0*/

{ int j;

for(j=start;j<=10;j++) if(b[j]) return j;

return0;

}

int check() /*检查填入pos位置的整数是否合理*/

{ int i,j

int checkMatrix[][3]={{-1},{0,-1},{1,-1},{0,-1},{1,3,-1},{2,4,-1},{3,- 1},{4,6,-1},{5,7,-1}};

for(i=0;(j=(1))>=0;i++)

if(! isPrime((2)))return 0;

return 1;

}

void extend() /*为下一方格找一个尚未使用过的整数*/

{ (3)=selectNum(1);

b[a[pos]]=0;

}

void change() /*为当前方格找下一个尚未使用过的整数,若找不到则回溯*/

{ int j;

while(pos>=0&&(j=selectNum(a[pos]+1))= =0) b[a[pos- -]]=1;

if(pos<0)return;

(4);a[pos] =j;b[j]=0; }

void find()

{ int k=1;

pos=0;a[pos]=1;b[a[pos]]=0;

do{

if(ok)

if( (5) ){

write(a);change();

}

else extend();

else change();

k=check(pos);

}while(pos>=0);

}

void main()

{ int i;

for(i=1;i<=10;i++)b[i]=1;

find();

}

点击查看答案

第6题

阅读以下说明和流程图,回答问题1-2,将解答填入对应的解答栏内。[说明] 下面的流程图采用欧几里得

阅读以下说明和流程图,回答问题1-2,将解答填入对应的解答栏内。

[说明]

下面的流程图采用欧几里得算法,实现了计算两正整数最大公约数的功能。给定正整数m和 n,假定m大于等于n,算法的主要步骤为:

(1)以n除m并令r为所得的余数;

(2)若r等于0,算法结束;n即为所求;

(3)将n和r分别赋给m和n,返回步骤(1)。

[流程图]

[问题1] 将流程图中的(1)~(4)处补充完整。

[问题2] 若输入的m和n分别为27和21,则A中循环体被执行的次数是(5)。

点击查看答案

第7题

已知类SubClass的getSum方法返回其父类成员i与类SubClass成员j的和;类SuperClass中的getSum为抽

象函数,程序中的第14行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,当程序运行到第22行且尚未执行第22行语句时成员变量i的值,最后给出程序运行后的输出结果。

[Java代码]

行号 代码

01 public class UainJava{

02 public static void main(String[]args){

03 SuperClass s=new SubClass();

04 System.out.printin(s.getValue());

05 System.out.printIn(s.getSum()):

06 }

07 }

08 abstract class SuperClass {

09 private int i;

10 public SuperClass(){i=5;}

11 public int getValue(){

12 return i:

13 }

14 public final abstract int getSum():

15 }

16 class SubClass extends SuperClass{

17 int j;

18 public SubClass(){

19 this(-3);

20 }

21 public SubClass(int j){

22 (1) .j=j;

23 }

24 publiC int getValue()(return j;}

25 public int getSum(){

26 return (2) .getValue()+j;

27 }

28

点击查看答案

第8题

阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。[说明] 本程序将自然数1,2,……,N2(N=5

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

[说明]

本程序将自然数1,2,……,N2(N=5)按蛇形方式逐个顺序存入N阶矩阵。令n=N-1,则矩阵中的每一元素可用aij标记,其中i,j(0≤i,j≤n)分别为其所在行的行号和所在列的列号。蛇形方式顺序存放的方法是从an0开始、到a0n为止,依次填入由1递增的自然数,交替地对每一斜列从左上角向右下角或从右下角向左上角排列。程序的输出为:

[程序]

include <stdio.h>

include <math.h>

define SIZE.10

int a[SIZE] [SIZE],k;

void write(int n) /*输出矩阵*/

{ int i,j;

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

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

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

printf("\n");

}

}

void makeline(int row_start, int col_start, int row_end) /*完成矩阵一条斜线的整数填写*/

{ int i,j, sign;

sign=((1)> =0)? 1:-1;

for(i = row_start,j = col_start; (row_end-i) * sign>=0; i+=sign,j+=sign)

a[i][j]=(2);

}

void makeArray(int n) /*完成矩阵每条斜线的整数填写*/

{ int d;

for(d=1;d<=(3);d+ +)

if(d< =n+1)

if(d%2)

makeline((4));

else

makeline(n+1-d,0,n);

else

if(d%2)

makeline((5));

else

makeline(0,d-n-1,2*n-d+1);

}

void main()

{ int n, N=5;

k=1; n=N-1;

makeArray(n);

write(n);

}

点击查看答案

第9题

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明] 二叉树的二叉链表存储结构描

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

[说明]

二叉树的二叉链表存储结构描述如下:

lypedef struct BiTNode

{ datatype data;

street BiTNode *lchiht, *rchild; /*左右孩子指针*/ } BiTNode, *BiTree;

下列函数基于上述存储结构,实现了二叉树的几项基本操作:

(1) BiTree Creale(elemtype x, BiTree lbt, BiTree rbt):建立并返回生成一棵以x为根结点的数据域值,以lbt和rbt为左右子树的二叉树;

(2) BiTree InsertL(BiTree bt, elemtype x, BiTree parent):在二叉树bt中结点parent的左子树插入结点数据元素x;

(3) BiTree DeleteL(BiTree bt, BiTree parent):在二叉树bt中删除结点parent的左子树,删除成功时返回根结点指针,否则返回空指针;

(4) frceAll(BiTree p):释放二叉树全体结点空间。

[函数]

BiTree Create(elemtype x, BiTree lbt, BiTree rbt) { BiTree p;

if ((p = (BiTNode *)malloc(sizeof(BiTNode)))= =NULL) return NULL;

p->data=x;

p->lchild=lbt;

p->rchild=rbt;

(1);

}

BiTree InsertL(BiTree bt, elemtype x,BiTree parent)

{ BiTree p;

if (parent= =NULL) return NULL;

if ((p=(BiTNode *)malloc(sizeof(BiTNode)))= =NULL) return NULL;

p->data=x;

p->lchild= (2);

p->rchild= (2);

if(parent->lchild= =NULL) (3);

else{

p->lchild=(4);

parent->lchild=p;

}

return bt;

}

BiTree DeleteL(BiTree bt, BiTree parent)

{ BiTree p;

if (parent= =NULL||parent->lchild= =NULL) return NULL;

p= parent->lchild;

parent->lchild=NULL;

freeAll((5));

return bt;

点击查看答案

第10题

阅读下列函数说明和C函数,将应填入(n)处的字句写对应栏内。[说明] 二叉树的二叉链表存储结构描述

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

[说明]

二叉树的二叉链表存储结构描述如下:

typedef struct BiTNode

{ datatype data;

struct BiTNode *lchild, * rchild; /*左右孩子指针*/

}BiTNode,* BiTree;

对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:

(1) 访问该元素所指结点;

(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。

此过程不断进行,当队列为空时,二叉树的层次遍历结束。

下面的函数实现了这一遍历算法,其中Visit(datatype a)函数实现了对结点数据域的访问,数组queue[MAXNODE]用以实现队列的功能,变量front和rear分别表示当前队首元素和队尾元素在数组中的位置。

[函数]

void LevelOrder(BiTree bt) /*层次遍历二叉树bt*/

{ BiTree Queue[MAXNODE];

int front,rear;

if(bt= =NULL)return;

front=-1;

rear=0;

queue[rear]=(1);

while(front (2) ){

(3);

Visit(queue[front]->data); /*访问队首结点的数据域*/

if(queue[front]—>lchild!:NULL)

{ rear++;

queue[rear]=(4);

}

if(queue[front]->rchild! =NULL)

{ rear++;

queue[rear]=(5);

}

}

}

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

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

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

上学吧找答案