题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2024-03-29 18:15:14

[填空题]阅读以下说明和C函数,填充函数中的空缺。
[说明]
已知两个整数数组A和B中分别存放了长度为m和n的两个非递减有序序列,函数Adjustment(A,B,m,n)的功能是合并两个非递减序列,并将序列的前m个整数存入A中,其余元素依序存入B中。例如:
合并前 合并后
数组A的内容 1,9,28 1,4,7
数组B的内容 4,7,12,29,37 9,12,28,29,37
合并过程如下:从数组A的第一个元素开始处理。用数组B的最小元素B[0]与数组A的当前元素比较,若A的元素较小,则继续考查A的下一个元素;否则,先将A的最大元素暂存入temp,然后移动A中的元素挪出空闲单元并将B[0]插入数组A,最后将暂存在temp中的数据插入数组B的适当位置(保持B的有序性)。如此重复,直到A中所有元素都不大于B中所有元素为止。
[C函数]
void Adjustment(int A[],intB[],int m,int n)
/*数组A有m个元素,数组B有n个元素*/
int k,temp;
for(i=0;i<m;i++)

if(A[i]<=B[0]) continue,
temp=______;/*将A中的最大元素备份至temp*/
/*从后往前依次考查A的元素,移动A的元素并将来自B的最小元素插入A中*/
for(k=m-1;______;k--)
A[k]=A[k-1];
A[i]=______;
/*将备份在七emp的数据插入数组B的适当位置*/
for(k=1;______&&k B[k-1]=B[k];
B[k-1]=______;



更多"阅读以下说明和C函数,填充函数中的空缺。 [说明] 已知两个整数数"的相关试题:

[填空题]阅读以下说明和C函数,填充函数中的空缺。
[说明]
已知两个整数数组A和B中分别存放了长度为m和n的两个非递减有序序列,函数Adjustment(A,B,m,n)的功能是合并两个非递减序列,并将序列的前m个整数存入A中,其余元素依序存入B中。例如:
合并前 合并后
数组A的内容 1,9,28 1,4,7
数组B的内容 4,7,12,29,37 9,12,28,29,37
合并过程如下:从数组A的第一个元素开始处理。用数组B的最小元素B[0]与数组A的当前元素比较,若A的元素较小,则继续考查A的下一个元素;否则,先将A的最大元素暂存入temp,然后移动A中的元素挪出空闲单元并将B[0]插入数组A,最后将暂存在temp中的数据插入数组B的适当位置(保持B的有序性)。如此重复,直到A中所有元素都不大于B中所有元素为止。
[C函数]
void Adjustment(int A[],intB[],int m,int n)
/*数组A有m个元素,数组B有n个元素*/
int k,temp;
for(i=0;i<m;i++)

if(A[i]<=B[0]) continue,
temp=______;/*将A中的最大元素备份至temp*/
/*从后往前依次考查A的元素,移动A的元素并将来自B的最小元素插入A中*/
for(k=m-1;______;k--)
A[k]=A[k-1];
A[i]=______;
/*将备份在七emp的数据插入数组B的适当位置*/
for(k=1;______&&k B[k-1]=B[k];
B[k-1]=______;



[填空题]阅读以下说明和C函数,填充函数中的空缺。
[说明]
函数Insert _key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点DHA树中,返回1。
提示:
二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:
若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;
若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;
左、右子树本身就是二叉查找树。
设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:
typedef struct BiTnode
int key _value; /*结点的键值,为非负整数*/
struct BiTnode *left,*right; /*结点的左、右子树指针*/
BiTnode,*BSTree;
[C函数]
int Insert _key(BSTree *root,int key)

BiTnode *father=NULL,*p=*root,*s;
while(______&&key!=p->key _value)(/*查找键值为key的结点*/
father=p;
if(key<p->key _value)p=______; /*进入左子树*/
else p=______; /进入右子树*/

if(p) return 0; /*二叉查找树中已存在键值为key的结点,无需再插入*/
s=(BiTnode *)malloc(______);/*根据结点类型生成新结点*/
if(!s)rettlrn -1;
s->key _value=key; s->left=NULL; s->right=NULL;
if(!father)
______; /*新结点作为二叉查找树的根结点*/
else /*新结点插入二叉查找树
[填空题]阅读以下说明和C函数,填充函数中的空缺。
[说明]
如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。
一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。
[C函数]
Int findSaddle(int a[][N],int M),
/*a表示M行N列矩阵,N是宏定义符号常量*/
int row,coiumn,i,k;
int minElem;
int count=0;/*count用于记录矩阵中马鞍点的个数*/
for(row=0;row<______;row++)
/*minElem用于表示第row行的最小元素值,其初值设为该行第0列的元素值*/
______;
for(culumn=1;column<______;column++)
if(minElem>a[row][column])
minElem=a[row][coiumn];

for(k=0;k<N;k++)
if(a[row][k]==minelem)
/对第row行的每个最小元素,判断其是否为所在列的最大元素*/
for(i=0;i<M;i++)
if(______>minElem)break;
if(i>=______)
printf("(%d,%d):%d/n",row,k,minElem);/*输出马鞍点*/
count++;
/*if*/
/*if*/
/*for*/
return count,
)/*findSaddle*/

[填空题]
阅读以下说明和C语言函数,填补空缺。
[说明]
已知1900年1月1日是星期一,下面的函数count_5_13(int year)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。
函数count_5_13(int year)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。
程序中使用了函数isLeapYear(int year),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。
[C语言函数]
int Count_5_13(int year)
{
int date; /*date为0表示星期日,为1~6分别表示星期一至星期六*/
long days=0; /*days记录天数*/
int m, y, c=0; /*c用于表示黑色星期五的个数*/
if(year<1900) return-1;
/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/
days=12;
for(y=1900; y<year; y++) {
days +=365;
if (iSLeapYear(Y)) (1) ;
}
date=((days%7)+1)%7;
/*算出给定年份year的1月13日是星期几+/
c=( (2) )1:0;
for(m=1; (3) ; m++) {
switch(m) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days=31; break;
case 4: case 6: case 9: case 11:
days=30; break;
case 2: days=28;

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码