您现在的位置:希赛教育首页 > 软考学院 > 程序员 > 正文
2008年下半年程序员笔试考前练习(11)[1]
http://www.educity.cn 作者:不详 来源:网络 2008年11月5日 发表评论 进入社区

  试题

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

  [说明]

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

  #define KAXSIZE 32

  typedef struct{

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

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

  int top;   /* 栈顶指针 */

  }Stack;

  [C代码]

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

  { S->elem = (int *)matloc(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)__;

[1]  [2]