首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。 [说明] 函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中
阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。 [说明] 函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成 B(2≤B≤16)进制数并输出。该函数先将转换过程中
admin
2007-03-10
78
问题
阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。
[说明]
函数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)=O;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(StackS) {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;StackS;
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”);
}
选项
答案
(1)S->top (2)S->elem[S->top++] (3)S->elem[--S->top] (4)n%B (5)n/B
解析
对于一个栈,首先应对它进行初始化,设置它的容量、栈顶等,一般有2种做法:
(1)top=0。在这种做法下,如果要进行入栈操作,则先将压人栈的元素值赋给栈顶指针所指向的单元,然后栈顶指针加1;如果要进行出栈操作,则将栈顶指针减1,然后将要出栈的元素弹出栈。
(2)top=-1。在这种做法下,如果要进行入栈操作,则首先将栈顶指针加1,然后把压人栈的元素值赋给栈顶指针所指向的单元;如果要进行出栈操作,则首先将要出栈的元素弹出栈,然后再将栈顶指针减1。
显然,在本题中使用的是第一种方法。(1)空填写S->top,使S->top=0。这样将整数item压入栈顶的语句为S->elem[S->top++]=item,即(2)空填写 S->elem[S->top++)。出栈操作是返回S->elem[--S->top)t这是(3)空的答案。
将十进制数n转换为二进制数时,把n除以2的余数压入栈,而用n除以2的商代替 n,依次类推,直到n等于0为止。这时,再把栈中的值一一弹出,就可得到二进制数据。类似地,把十进制数n转换成B进制数的过程也是如此,一般算法描述为(其中S为栈):
do{
n%B入栈;
n=n/B;
}while(n);
转载请注明原文地址:https://kaotiyun.com/show/gzjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2007中,单元格Al、A2、B1、B2、C1、C2、Dl、D2单元格中的值分别为10、10、20、20、30、30、40、40,若在E1单元格中输入函数“=SLIMIF(A1:D2,”>30",A2:D2)”,按回车键后,则E1单元格中的值
在Excel中,若A1、A2、A3、A4、A5、A6单元格的值分别为2、4、6、8、10、12,在B1单元格中输入函数“=ABS[MIN(A1:A6)-MAX(A1:A6)]”则B1单元格的值为______。
在Excel中,使用工作表中的数据建立图表后,改变工作表的内容时,______。
小张和小王负责向数据库中录入一批图书数据(如:书名、作者和出版社等),要求在保证质量的前提下,尽可能高效率地完成任务,采用以下______方式比较恰当。
在Excel2007中,单元格Al、A2、A3、B1、B2、B3、C1、C2、C3中的值分别为12、23、98、33、76、56、44、78、87,若在单元格D1中输入按条件计算最大值函数“=LARGE(A1:C3,3)”,按回车键后,则D1单元格中的
某企业对多项已完成的数据处理任务进行了评估,按其满意度和重要性度量值为坐标,标在下图中,用小圆表示)。这些坐标点分别落入I、Ⅱ、Ⅲ、Ⅳ四个区中。领导认为,位于________区中的任务是需要优先改进的。
在Access中,如果想要查询所有姓名为2个汉字的学生记录,在准则中应输入______。
()是一种不可靠的、无连接的协议,但可以保证应用程序间的通信。
描述事物的数据有绝对数据和相对数据之分。大气中氧气的含量属于相对数据,常用______形式表示。
随机试题
简述曾国藩“严刑以致义安”的主张。
符合申请领取施工许可证,应当具备条件的包括()。
根据《水利水电建设工程验收规程》SL223—2008,工程项目在整体投入使用前必须通过竣工验收。竣工验收应在全部工程完建后()个月内进行。
《导游人员资格证》由国务院统一印制,导游证由颁证机关统一印制。()
根据下列资料,回答问题。2012年1—8月,北京市开发区累计完成招商项目2730个,比上年同期增长21.5%;项目总投资597.5亿元,同比下降13.4%;企业注册资本435.8亿元,同比下降7.7%;合同外资金额10.3亿美元,同比下降38%;
下列关于地理要素相互作用产生新功能叙述正确的是()。
大约在12000年前,当气候变暖时,人类开始陆续来到北美洲各地。在同一时期,大型哺乳动物,如乳齿象、猛犸和剑齿虎等,却从它们曾经广泛分布的北美洲土地上灭绝了。所以,与人类曾与自然界其他生物和平相处的神话相反,早在12000年前,人类的活动便导致了这些动物的
英国《1944年教育法》,又称()。
设每次试验成功的概率为0.2,失败的概率为0.8,设独立重复试验直到成功为止的试验次数为X,则E(X)=_______。
InMarch2012,atajewelryshowinSwitzerland,watchmakerHublotunveiledwhatnewsreportshailedastheworld’smostexpensi
最新回复
(
0
)