早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

【C程序】#include<stdio.h> /*此处为栈类型及其基本操作的定义,省略*/ int main(){ STACK

题目

【C程序】

#include<stdio.h>

/*此处为栈类型及其基本操作的定义,省略*/

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<n; i++) /*读入需要驶出的车厢编号序列,存入数组state[]*/

scanf("%d",&state[i]);

(1) ; /*初始化栈*/

maxNo=1;

for(i=0; i<n; ){ /*检查输出序列中的每个车厢号state[i]是否能从栈中获取*/

if( (2) ){ /*当栈不为空时*/

if (state[i]=Top(station)) { /*栈顶车厢号等于被检查车厢号*/

printf("%d",Top(station));

Pop(&station);i++;

else

if ( (3) ) {

printf(“error\n”);

return 1;

else{

begin= (4) ;

for(j=begin+l;j <=state [i];j++){

Push(&station, j);

}

else{ /*当栈为空时*/

begin=maxNo;

for(j=begin; j<=state[i];j++) {

Push(&station, j);

maxNo= (5) ;

printf("OK");

return 0;

参考答案
正确答案:
(1)InitStack(&station)
(2)!IsEmpty(station)
(3)state[i]Top(station)
(4)Top(station)
(5)j