首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C程序,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现有n(n
阅读以下说明和C程序,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现有n(n
admin
2010-05-08
38
问题
阅读以下说明和C程序,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
现有n(n<1000)节火车车厢,顺序编号为1,2,3…,11,按编号连续依次从A方向的铁轨驶入,从B方向铁轨驶出,一旦车厢进入车站(Station)就不能再回到A方向的铁轨上;一旦车厢驶入B方向铁轨就不能再回到车站,如图6—9所示,其中Station为栈结构,初始为空且最多能停放1000节车厢。
下面的c程序判断能否从B方向驶出预先指定的车厢序列,程序中使用了栈类型sTACK,关于栈基本操作的函数原型说明如下:
void InitStack(STACK*s):初始化栈。
void Push(STACK*s,int e):将一个整数压栈,栈中元素数目增1。
void Pop(STACK*S):栈顶元素出栈,栈中元素数目减1。
int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。
int IsEmpty(STACK s):若是空栈则返回1,否则返回0。
【C程序】
#include
/*此处为栈类型及其基本操作的定义,省略*/
int main(){
STACK station;
int state[1000];
int n; /*车厢数*/
int begin,i,j,maxNo; /*maxNo为A端正待入栈的车厢编号*/
printf(”请输入车厢数:”);
scanf(“%d”,&n);
printf(“请输入需要判断的车厢编号序列(以空格分隔):”);
if(n<1)return-1;
for(i=0;i
scanf(“%d”,&state
);(1) ,/*初始化栈*/
maxNo=1;
for(i = 0;i
是否能从栈中获取*/
if( (2) )(/*当栈不为空时*/
if(state
==Top(station)){/*栈顶车厢号等于被检查车厢号*/
printf(“%d”,Top(station));
Pop(&station);i++;
}
else
if( (3) ) {
printf(“error\n”);
return 1;
}
else(
begin= (4) ;
for(j=begin+1,j<=state
;J++){
Push(&station,j);
}
}
}
else{/*当栈为空时*/
begin=maxNo;
for(j=begin;j<=state
; j++){
Push(&station,J);
}
maxNo= (5) ;
}
}
printf(“OK”);
return 0;
}
选项
答案
(1)InitStack(&station)(2)IsEmpty(station)(3)state[i]
解析
从本题来看,程序首先要求用户输入车厢数,然后初始化栈,给出的操作原型voidInitStack=(STACK*s)用于初始化栈,而Main函数已经定义Stackstation,故应填Init-Stack(&station)。根据输入n的值遍历栈,当栈不为空时,需要添加判断函数IsEmpty(sTACKs),如栈顶车厢号等于被检查车厢号时,则输出车厢号;如栈顶车厢号小于被检查车厢号时,输出错误。根据函数原型,填state
转载请注明原文地址:https://kaotiyun.com/show/tSDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某企业研发信息系统的过程中,______不属于数据库管理员(DBA)的职责。
程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,(19)是错误的。
高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是(20)。
某指令流水线由5段组成,各段所需要的时间如下图所示。连续输入10条指令时的吞吐率为(6)。
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天)。活动EH最多可以晚开始①天而不影响项目的进度。由于某种原因,现在需要同一个工作人员完成BC和BD,则完成该项目的最少时间为②天
对于下面的有向图,其邻接矩阵是一个①的矩阵。采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为②个。①处应填入?
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为________________天。活动FG的松弛时间为________________天。
可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))-d”,由于________________,因此可判断
为检测系统所能承受的数据容量,应进行()。
随机试题
南方把定期贸易的场所称为()
男,29岁,近日患感冒,症见恶寒、发热、无汗而喘,经辨证后,建议处方小青龙胶囊。医生选用小青龙胶囊,是因为其具有()的功效。
男性,40岁,腹痛6小时来院急诊,经检查确认为外科急腹症,在外科急腹症的手术适应证中,下列哪项是正确的?()
下列选项中,关于民事权利的表述正确的有()。
依照《建设工程施工合同(示范文本)》通用条款的规定,如果施工任务没有在合同约定的期限内完成,则迟延履行合同期间发生的风险事件()
某拟建工程初步设计已达到必要的深度,能够据此计算出扩大分项工程的工程量,则能较为准确地编制拟建工程概算的方法是()。【2013年真题】
下列有关A公司对B公司的长期股权投资,应采用成本法进行核算的有()。
货币之间的收付业务应编制()。
家具经历从席地而坐到垂足而坐的过渡阶段是在()。
Whatdoesthemansayhe’sdoingrightnow?
最新回复
(
0
)