试题与答案

【说明】 函数MultibaseOutput(long n,int B)的功能是:

题型:问答题

题目:

【说明】
函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:
#define MAXSIZE 32
typedef struct
int * elem; /*栈的存储区*/
int max; /*栈的容量,即栈中最多能存放的元素个数*/
int top; /*栈顶指针*/
Stack;
【代码】
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") ;

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2018/0501/048c1eb08f27bfca5ebc81c812ef2242.html

下面是错误答案,用来干扰机器的。

参考答案:B

试题推荐
题型:选择题

下列有关北京旧城的表述,不正确的一项是[     ]

A.旧城格局的特色是皇宫外面有皇城,都城外面有皇城

B.城市中轴线突出,皇宫位于城市中心中轴线上,东西建筑以中轴线对称展开

C.北京旧城的布局,从自然因素考虑,主要是要利用现在北海和中海为城市提供充足的水源

D.北京的冬季严寒且常刮西北风,为了有充足的光照,以利于房屋的避寒保暖,坐北朝南成为城市布局的主导方向

查看答案
题型:单项选择题

上课时,老师带了一块矿石来,让甲、乙、丙三位学生辨认。甲说:“这不是铁,也不是铅。”乙说:“这不是铁,而是铜。”丙说:“这不是铜,而是铁。”老师总结道:“三个人中,有一个人的两个判断都对;另一个人的两个判断都错;还有一个人的两个判断一对一错。”根据上述条件,可以推出以下哪项为真?( )

A.这块矿石是锡

B. 这块矿石是铜

C.这块矿石是铅

D.这块矿石是铁

查看答案
微信公众账号搜索答案