早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

●试题五 阅读下列程序说明和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);

}

}

参考答案
正确答案:

●试题五

【答案】(1mpmp!=NULL2mp->head&(mp->head)

3&mp->head=NULL4*mpptr=mp5ipip!=NULL

(6)&ip->next&(ip->next)(7)*ipp=ip

 

看了●试题五 阅读下列程序说明和C...的网友还看了以下:

在研究蚂蚁的通讯过程中,先在侦查蚁要经过的地方铺上纸片,纸片的尽头放食物,待侦查蚁回巢后,我们将纸 语文 2020-04-07 …

据分析,以每张贺卡10克计算,10万张为一吨,造纸每吨约需5.5立方米木材,折合下来制作3000万 其他 2020-05-13 …

2.据分析,以每张贺卡10克计算,10万张为一吨造纸每吨约需5.5立方米木材,折合下来制作3000 其他 2020-05-13 …

英语翻译中国纸和纸制品行业已成为国际纸业舞台上最具活力的重要力量.近年来中国纸业的高速发展很大程度 英语 2020-05-13 …

某纸厂用进口纸浆生产白纸,每捆1000张叠放在一起,是一个长320㎝宽240cm,高20cm的长方 其他 2020-05-16 …

用落体法研究机械能守恒定律的实验中,某同学按照正确的操作选得纸带,但在处理纸带的过程中不小心把纸带 其他 2020-05-17 …

水印是在生产过程中通过改变纸浆纤维密度的方法而制成的,它在造纸过程中已制作定型,而不是后压印 职业技能鉴定 2020-05-27 …

如果在纸带上打下了10个点,在打下的这些点的过程中,纸带的运动时间是每隔1S打一个点打第一个点的时 其他 2020-06-07 …

描绘电场中的等势线的实验装置如图所示:(1)在实验过程中,要把复写纸、导电纸、白纸铺放在木板上,它 其他 2020-06-08 …

在验证机械能守恒定律的实验中,质量为m=1.00kg的重锤拖着纸带下落,在此过程中,打点计时器在纸 其他 2020-06-12 …