阅读以下说明和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;
(代码)
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″);
}
[试题]试题四阅读以下说明和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) 处的字句写在答题纸的对应栏内。[说明]函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:#define MAXSIZE 32typedef struct {int *elem; /* 栈的存储区 */int max;
[试题]试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。例如:原文:You He MeI am a student.结果:Me He Youstudent a am I原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号
[试题]试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编写程序,其功能是:以行为单位把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放。最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT(),把结果XX输出到文件OUT5.DAT中。例如:原文:You can create an index on any fi
[试题]试题三阅读下列说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)本题给出四个函数,它们的功能分别是:1.int push(PNODE *top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。2.int pop(PNODE *top,int *e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。3.int enQueue(PNODE *tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。4.int deQueu
[试题]阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。说明通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中。应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样, Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。C.++代码#include<iostream.h>class Configure{(1):C.onfigure
[试题]试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明2.1)以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。(函数2.1)void fun1(int a[]){int i,j,k,r,x,m;for(i=2;i<=n;i++){ (1) ;k=1;r=i-1;while(k<=r){m=(k+r)/2;if(x<a[m])r=m-1;else (2) ;}for(j=i-1;j>=k;j--)a[j+1]=a[j];(3) ;}}
[试题]试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)函数print(BinTreeNode*t;DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。(函数)void print(BinTreeNode*t;DateType &x){stack ST;int i,top;
[试题]试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明2.1)L为一个带头结点的循环链表。函数deletenode(LinkList L,int c)的功能是删除L中数据域data的值大于c的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。(函数2.1)LinkList deletenode(LinkList L,int c){LinkList Lc,p,pre;pre=L;p= (1) ;Lc=(LinkList)malloc(siz
[试题]试题五阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(程序5说明)著名的四色定理指出任何平面区域图均可用四种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过四种颜色的着色方案。程序中用1~4表示四种颜色。要着色的N个区域用0~N-1编号,区域相邻关系用adj[][]矩阵表示,矩阵的i行j列的元素为1,表示区域i与区域j相邻;矩阵的i行j列的元素为0,表示区域i与区域j不相邻。数组color[]用来存储着色结果,color[i]的值为区域i所着颜色。