进制转换算法中,除余得到的数存到栈中,先得到是低位后弹出,后得到是高位先弹出,恰好反映栈具有哪种的性质。()
第1题:
此题为判断题(对,错)。
第2题:
数的二~十进制转换可通过对二进数表达式计算按()后得到。
第3题:
试题四
阅读以下说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:
#define MAXSIZE 32
typedef struct {
int *elem; /* 栈的存储区 */
int max; /* 栈的容量,即栈中最多能存放的元素个数 */
int top; /* 栈顶指针 */
}Stack;
[C代码]
int InitStack(Stack *S, int n) /* 创建容量为n的空栈 */
{ S->elem = (int *)malloc(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) ;
}
void MultibaseOutput(long n, int B)
{ int m; Stack S;
if (InitStack(&S, MAXSIZE)) {printf("Failure!\n"); return;}
do {
if (Push(&S, (4) )) {printf("Failure!\n"); return;}
n = (5) ;
}while(n != 0);
while(!StackEmpty(S)) { /* 输出B进制的数 */
m = Pop(&S);
if(m < 10) printf("%d", m); /* 小于10,输出数字 */
else printf("%c", m + 55); /* 大于或等于10,输出相应的字符 */
}
printf("\n");
}
第4题:
由电信需求的网络外部性,可以得到( )关系。
A.网络规模越大,用户得到的效用越大B.网络规模越大,用户得到的效用越小C.网络规模由小变大时,用户得到的效用先增后减 D.网络规模达到一个临界值后,用户得到的效用不变
第5题:
用BCD码进行十进制数的运算所得到的结果就是真值。()
第6题:
电信网络用户的效用与电信网络规模有关,即()。
A.网络的规模越大,用户从电信网络中得到的效用越小
B.网络的规模越大,用户从电信网络中得到的效用越大
C.随着网络规模的扩大,用户所得到的效用先增后减
D.随着网络规模的扩大,用户所得到的效用先减后增
第7题:
此题为判断题(对,错)。
第8题:
A、后变形部位要比先变形部位先得到矫正
B、先变形部位要比后变形部位先得到矫正
C、间接损伤部位比直接损伤部位先矫正
D、直接损伤部位比间接损伤部位后矫正
第9题:
对于图4-1所示的有向图G,写出函数TopSort执行后得到的拓扑序列。若将函数TopSort中的队列改为栈,写出函数TopSort执行后得到的拓扑序列。
第10题:
●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,
则操作序列push、pop、pop、push、push、pop (36)。
(36)
A.得到出栈序列为abc
B.得到出栈序列为bac
C.得到出栈序列为bca
D.是非法的操作序列