●试题五 阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在答卷纸的对应栏内。 【程序说
●试题五
阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在答卷纸的对应栏内。
【程序说明】
本程序先从文件读入各考生的准考证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树结点的健值是成绩,每个结点带一链表,链表结点存放取得该成绩的考生的准考证号。然后,程序按中序遍历检索二叉树,从高分到低分输出结果,使每行输出成绩及其取得成绩的考生的准考证号。
【程序】
#include <stdio.h>
typedef struct idnode {
int id;
struct idnode * next;
} IdNode;
typedef struct marknode {
int mark;
IdNode *head;
struct marknode *left, *right;
} MarkNode;
char fname [ ]="sp07.dat";
main()
{ int id, mark;
MarkNode *root=null;
FILE *fp=fopen(fname,"r");
if(!fp) {
printf("file%s open error.\n", fname);
exit(0);
}
while (!feop(fp)) {
fscanf(fp,"%d%d", &id, &mark);
btree(&root, id, mark);
}
fclose(fp);
print(root);
}
btree(MarkNod**mpptr, int id, int mark)
{ IdNode *ip;
MarkNode *mp=*mpptr;
if (1) {
if (mark==p->mark) addIdNODE ( (2) , id);
else if (mark>mp->mark) btree (&mp->left, id, mark);
else btree(&mp->right, id, mark);
}else
{ mp=(marknode *) malloc(sizeo (marknode));
mp->mark=mark;
mp->left=mp->right=NULL;
(3)
addIdNode(&mp->head, id);
(4) ;
}
}
addIdNode(IdNode **ipp, int id)
{IdNode *ip=*ipp;
if ( (5) )addIdNode ( (6) ), id;
else{
ip=(IdNode *)malloc(sizeof(IdNode));
sp->id=id;
ip->next=NULL;
(7)
}
}
print(MarkNode *mp)
{ IdNode *ip, *ip0;
if (mp){
print (mp->left);
printf("%6d:\t",mp->mark);
ip=mp->head;
while(ip){
printf("%6d",ip->id);
ip0=ip;
ip=ip->next;
free(ip0);
}
printf("\n");printf(mp->right);free(mp);
}
}
●试题五
【答案】(1)mp或mp!=NULL(2)mp->head或&(mp->head)
(3)&mp->head=NULL(4)*mpptr=mp(5)ip或ip!=NULL
(6)&ip->next或&(ip->next)(7)*ipp=ip
(奇妙的1~9)用1~9这九个数字,填上若干个“+”或“-”,使计算结果等于31.试试,看谁写得多 数学 2020-05-13 …
填口歌,十字填口树叶飘,门字填口问你好,下字填口吓一跳,刀字填口发号召,天字填口吞水饺,合字填口( 语文 2020-06-15 …
选字填空。暮墓幕慕募1.我真羡()他们那样无忧无虑。2.他们约定半夜到()地去试试胆量。3.夜() 语文 2020-06-21 …
九宫格填数字我儿子大班,前几天想测试一下他的智商,就自己出了下面一道题,颇感欣慰.将1-9数字填入 数学 2020-06-29 …
选字填空.其旗选字填空.其旗棋期1.人们手中拿着彩(),为运动员加油.2.我很喜欢下军().3.你( 数学 2020-11-07 …
用“数字”填空:①向酒精灯内添加酒精时,不能超过酒精灯容积的;②用试管夹夹持试管时,试管夹应夹持在距 化学 2020-12-18 …
用“,,45°”等数字填空:①向酒精灯内添加酒精时,不能超过酒精灯容积的;②用试管夹夹持试管时,试管 化学 2020-12-18 …
实验装置及实验操作是化学实验的基本内容,也是研究物质性质的重要途径.(1)用13、23等数字填空:向 化学 2020-12-19 …
、等数字填空:向酒精灯内添加酒精时,不能超过酒精灯容积的;用试管夹夹持试管时,试管夹应夹持在距管口处 其他 2020-12-19 …
九宫格题目,将5到13这9个数字填入,使得横竖斜三数相加都为27,我试了很久都没试出来,有什么方法么 数学 2021-01-20 …