首页 > 试题广场 >

阅读下面的算法,请回答下列问题: (1)

[问答题]

阅读下面的算法,请回答下列问题:

(1) 试说明算法的功能。

(2) 当执行该程序时,输入 12345678-1 ,输出什么结果?

#define StackSize 200

typedef int DataType;

typedef struct{

DataType data[StackSize];

int top;

}SeqStack;

void Push(SeqStack *s,DataType x)

{

if(s->top!=StackSize-1)

s->data[++s->top]=x;

}

DataType Pop(SeqStack *s)

{

if(s->top!=-1)

return s->data[s->top--];

}

void main( )

{

DataType i;

SeqStack s;

s.top=-1;

scanf(“%d”,&i);

while(i!=-1)

{

push(&s,i);

scanf(“%d”,&i);

}

while(s->top!=-1)

{

i=Pop(&s);

printf(“%6d”,i);

}

}


答案 :

(1) 程序的功能是把输入的一串整数 ( -1 做结束标记 ) ,按照与输入相反的次序输出。用栈实现这一功能。

2 )输出结果 8   7   6   5   4   3   2   1

发表于 2017-09-21 14:38:33 回复(0)