[试题]

阅读以下说明和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”);

}

参考答案与解析:

相关试题

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

[试题]阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据正文!这是票据的脚注!---------------这是票据的台头!这是票据的脚注!(C++程序代码)#includeusing namespace std;c

  • 查看答案
  • 阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。(说

    [试题]阅读以下说明和Java程序代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)在下面的Java程序代码中,类SalesTicket能够完成打印票据正文的功能,类 HeadDecorator与FootDecorator分别能够完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。这是票据的台头!这是票据正文!-------------------这是票据的脚注!这是票据的台头!这是票据的脚注!(tava程序代码)public class SalesTic

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

    [试题]阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。说明通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中。应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样, Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。C.++代码#include<iostream.h>class Configure{(1):C.onfigure

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [主观题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]有一个一维数组cj,内放20个学生成绩,求平均成绩。函数ave用来求20个学生的平均成绩。[C语言函数]float ave(float a[20]){ int i;float aver,sum= (1) ;for(i=1;i<20;i++) sum= (2) ;aver= (3) ;return( (4) );}main(){ float cj[20],aver;int i;printf(“input 20

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [试题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]下面程序是一个带参数的主函数,其功能是显示在命令行中输入的文本文件内容。[C语言函数]#include"stdio.h"main(argc,argv) int argc; char *argv[]; { (1) ; if((fp=fopen(argv[1],”r’’))== (2) ) { printf(”file not open!\n”);exit(0);} while( (3) ) putchar( (4

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [试题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]设有定义 #define ITEM struct item #define SIZE sizeof(ITEM) ITEM { int num; ITEM *next; }; ITEM *head=NULL; 下述函数定义实现按插表尾形式(即每一新表元素插入至当前所生成链表的表尾之后)生成一个正向线性链表。最后指向所生成链表表头的指针作为函数值返回。为生成一个线性链表,要求输入一批整型数据,并以-1作为结束标志。请填

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

    [试题]试题二阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:#define MAXSIZE 32typedef struct{int *elem;/*栈的存储区*/int max; /*栈的容量

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

    [试题]试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。例:序列 {6,8,9,1,2,5,4,7,3}经重排后成为{3,4,5,2,1,6,8,9,7}(函数)

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

    [试题]试题四阅读以下说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:#define MAXSIZE 32typedef struct {int *elem; /* 栈的存储区 */int max;

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

    [试题]试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。例如:原文:You He MeI am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号

  • 查看答案
  • 阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。 [