重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 大学本科
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

给定一个整数栈,如何检查栈中每对相邻数字是否连续。每对数字的值可以是递增或递减的,如果栈中元素的个数是奇数,那么组对时忽略栈项元素。例如,假设栈中元索为[4,5,-2,-3,11,10,5,6,20],那么算法应该输出真,因为每对二元组(4,5)、(-2,-3)、(11,10)、和(5,6)都是连续的数字。

给定一个整数栈,如何检查栈中每对相邻数字是否连续。每对数字的值可以是递增或递减的,如果栈中元素的个数是奇数,那么组对时忽略栈项元素。例如,假设栈中元索为[4,5,-2,-3,11,10,5,6,20],那么算法应该输出真,因为每对二元组(4,5)、(-2,-3)、(11,10)、和(5,6)都是连续的数字。

查看参考答案
更多“给定一个整数栈,如何检查栈中每对相邻数字是否连续。每对数字的值可以是递增或递减的,如果栈中元素的个数是奇数,那么组对时忽略栈项元素。例如,假设栈中元索为[4,5,-2,-3,11,10,5,6,20]…”相关的问题

第1题

程序模块phase2.o中,假设在.text节中do_phase过程的“mov %esp,%ebp”指令(机器码为“89 e5”)后,紧接着加入调用目标输出函数的机器码形如“e8 ?? ?? ?? ??”的call指令(注意每对“??”代表一个字节的十六进制表示——实际上在call指令之前还应加入参数压栈等多条指令,此处仅为假设以方便确定偏移量),则此处表示为“??”的4个字节的值依次是什么?(每个字节的值应表示为前缀0x后跟2个十六进制数字,注意其中的数字a-f应采取小写形式,相邻字节之间以单个空格分隔,例如0x1a 0x2b 0x3c 0x4d)
点击查看答案

第2题

程序模块phase2.o中,假设在.text节中do_phase过程的“mov %esp,%ebp”指令(机器码为“89 e5”)后,紧接着加入调用目标输出函数的机器码形如“e8 ?? ?? ?? ??”的call指令(注意每对“??”代表一个字节的十六进制表示——实际上在call指令之前还应加入参数压栈等多条指令,此处仅为假设以方便确定偏移量),则此处表示为“??”的4个字节的值依次是什么?(每个字节的值应表示为前缀0x后跟2个十六进制数字,注意其中的数字a-f应采取小写形式,相邻字节之间以单个空格分隔,例如0x1a 0x2b 0x3c 0x4d)
点击查看答案

第3题

●试题二 阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 函数Multiba

●试题二

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

【说明】

函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:

#define MAXSIZE 32

typedef struct{

int *elem;/*栈的存储区*/

int max; /*栈的容量,即栈中最多能存放的元素个数*/

int top;/*栈顶指针*/

}Stack;

【代码】

int InitStack(Stack *S,int n)/*创建容量为n的空栈*/

{S->elem=(int*)malloc(n *sizeof(int));

if(S->elem==NULL)return-1;

S->max=n; (1) =0;return 0;

}

int Push (Stack *s,int item)/*将整数item压入栈顶*/

{if(S->top==S->max){printf(″Stack is full!\n″);return-1;}

(2) =item;return 0;

}

int StackEmpty(Stack S){return(! S.top)?1∶0;}/*判断栈是否为空*/

int Pop(Stack *S)/*栈顶元素出栈*/

{if(! S->top){printf(″Pop an empty stack!\n″);return -1;}

return (3) ;

}

void MultibaseOutput(long n,int B)

{int m;Stack S;

if(InitStack(&S,MAXSIZE)){printf(″Failure!\n″);return;}

do {

if(Push(&S, (4) )){printf(″Failure!\n″);return;}

n= (5) ;

}while(n !=0);

while(! StackEmpty(S)){/*输出B进制的数*/

m=Pop(& S);

if(m<10)printf(″%d″,m);/*小于10,输出数字*/

else printf(″%c″,m+55);/*大于或等于10,输出相应的字符*/

}

printf(″\n″);

}

点击查看答案

第4题

阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。 [说明] 函数MultibaseOu

阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。

[说明]

函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:

define MAXSIZE 32

typedef struct{

int * elem; /* 栈的存储区 */

int max; /* 栈的容量,即栈中最多能存放的元素个数 */

int top; /* 栈顶指针 */

}Stack;

[C代码]

int InitStack(Stack * S,int n) / * 创建容量为n的空栈 */

{ S->elem=(int *)malloc(n * sizeof(int));

if(S->elem==NULL)return-1;

S->max=n; (1)=O;return 0;

}

int Push(Stack * S,int item) / * 将整数item压入栈顶 * /

{ if(S->top==S->max){ printf(“Stack is full! \n”);return-1;}

(2)=item;return 0;

}

int StackEmpty(StackS) {return (! S.top)? 1:0;} / * 判断栈是否为空 * /

int Pop(Stack *S ) / * 栈顶元素出栈 * /

{ if(! S->top){printf(“Pop an empty stack! \n”);return-1;}

return (3);

}

void MultibaseOutput(long n,int B)

{ int m;StackS;

if (InitStack(&S,MAXSIZE)){printf(“Failure! \n”);return;}

do {

if(Push(&S, (4) )){printf(“Failure! \n”);return;}

n=(5);

}while(n!=0);

while(! StackEmpty(S)){ / * 输出B进制的数 * /

m=Pop(&S);

if(m<10)printf(“%d”,m); / * 小于10,输出数字 * /

else printf(“%c”,m+55); / * 大于或等于10,输出相应的字符 * /

}

printf(“\n”);

}

点击查看答案

第5题

试题四 阅读以下说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明] 函数Mult

试题四

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

[说明]

函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:

#define MAXSIZE 32

typedef struct {

int *elem; /* 栈的存储区 */

int max; /* 栈的容量,即栈中最多能存放的元素个数 */

int top; /* 栈顶指针 */

}Stack;

[C代码]

int InitStack(Stack *S, int n) /* 创建容量为n的空栈 */

{ S->elem = (int *)malloc(n * sizeof(int));

if(S->elem == NULL) return -1;

S->max = n; (1) = 0 ; return 0;

}

int Push(Stack *S, int item) /* 将整数item压入栈顶 */

{ if(S->top == S->max){ printf("Stack is full!\n"); return -1;}

(2) = item ; return 0;

}

int StackEmpty(Stack S) { return (!S.top) ? 1 : 0; } /* 判断栈是否为空 */

int Pop(Stack *S) /* 栈顶元素出栈 */

{ if(!S->top) { printf("Pop an empty stack!\n"); return -1;}

return (3) ;

}

void MultibaseOutput(long n, int B)

{ int m; Stack S;

if (InitStack(&S, MAXSIZE)) {printf("Failure!\n"); return;}

do {

if (Push(&S, (4) )) {printf("Failure!\n"); return;}

n = (5) ;

}while(n != 0);

while(!StackEmpty(S)) { /* 输出B进制的数 */

m = Pop(&S);

if(m < 10) printf("%d", m); /* 小于10,输出数字 */

else printf("%c", m + 55); /* 大于或等于10,输出相应的字符 */

}

printf("\n");

}

点击查看答案

第6题

将一个非负十进制整数转换成八进制数,使用非递归算法实现。 算法分析:十进制转换成八进制的过程是将十进制

将一个非负十进制整数转换成八进制数,使用非递归算法实现。

算法分析:十进制转换成八进制的过程是将十进制整数除8得余数,直到商是0为止,然后倒排余数。为了得到倒排的余数,可以利用栈来实现,每次运算后将余数压入栈中,直到商为0,将栈中数据输出即是。使用顺序栈,将顺序栈的定义及其基本操作的实现写在头文件“seqstack.h”中。

点击查看答案

第7题

以下应用中,必须采用栈结构的是______。A.使一个整数序列逆转B.递归函数的调用和返回C.申请和释放

以下应用中,必须采用栈结构的是______。

A.使一个整数序列逆转

B.递归函数的调用和返回

C.申请和释放单链表中的节点

D.装入和卸载可执行程序

点击查看答案

第8题

● 以下应用中,必须采用栈结构的是 (41) 。 (41)A. 使一个整数序列逆转B. 递归函数的调用和返回 C.

● 以下应用中,必须采用栈结构的是 (41) 。

(41)

A. 使一个整数序列逆转

B. 递归函数的调用和返回

C. 申请和释放单链表中的结点

D. 装入和卸载可执行程序

点击查看答案

第9题

设将整数1、2、3、4依次进栈,只要出栈时栈非空,则可将出栈操作按任何次序夹人其中;请回答下述问题:

1.当人、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Push(4),Pop(),出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈)(26)

2.能否得到出栈序列1、4、2、3和1、4、3、2?答案为(27)。

3.请分析研究1、2、3、4的24种排列中,(28)序列是可以通过相应的入、出栈操作得到的。

A.1,3,4

B.1,4,2,3

C.1,4,3

D.3,4,1

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

1. 搜题次数扣减规则:

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

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

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

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

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

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

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧