MOV BX,2000H
MOV CX,3000H
PUSH CX
PUSH BX
PUSH AX
POP CX CX 为上次压入的 AX 的内容轮哪,即 CX = 1000H。
POP AX AX 为亏桐老上上次销升 BX 压入的内容,即 AX = 2000H。
程序执行后,寄存器的内容是 BX = 2000H,CX = 1000H。
#include <stdio.h>#define M 100
typedef struct
{
int elem[M]
int top
}SqStack
void init(SqStack*s)/*初始化栈*/
{s->top=0}
int empty(SqStack*s) /*栈为空返回1,否则返回0 */
{return(! s->top)} //第一处
int push(SqStack*s,int x) /*进栈*/
{if(s->top==M)return 0
s->elem[s->top]=x //第二处
s->top++ //第三处
return 1
}
int pop(SqStack*s,int *y) /*出栈*/
{if(s->top==0)return 0
--s->top*y=s->elem[s->top]
return 1
}
void main()
{
int temp
int x,h,*y=&temp //注意这里,这个题目本来这里是错的
SqStack stack
SqStack *a=&stack //注意这里,这个题目察猛本来这里是错的
init(a)
scanf("丛则%d%d",&x,&h)
while(x!=0)
{push(a,x%h) //第四处
x=x/h}
printf("\n")
while(!empty(a))
{pop(a,y) //第五败郑桥处
if(*y<10)
printf("%d",*y)
else
printf("%c",*y-10+97)
}
}
2.这个地方没看懂:Pop(10+Pop(S)),pop参数又是s又迅缺拦是整数的3.我在上个问题回答过了
程序填空题
1. 由于链表是有序亩胡表,各节点data单调的,如递增有序表:lh->2,3,3,3,4,4,5
如果想删除所有值相同的多余元素,从头开始,如果当前节点p的data不等于前一个q的data,说明该节点p和前一个q不是重复,下一个p=p->next;如果当前节点p的data(已赋值给temp)等于前一扮差个q的data,那就删除所有都等于temp的节点,算法思想就是这了。
(1)p->data!=temp
(2)p->data==temp
2. 查找x肯定要遍历树,而遍历树有三种:先序、中序、后序,题目用先序遍历
(3)return null
(4)return BT
(5)return t
(6)if( t=BTF(BT->right,x)) return t
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)