试题与答案

【程序说明】 本程序先从文件读人各考生的准考证号(设为整型数)及成绩,并将其存放在

题型:问答题

题目:

【程序说明】
本程序先从文件读人各考生的准考证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树结点的健值是成绩,每个结点带一链表,链表结点存放取得该成绩的考生的准考证号。然后,程序按中序遍历检索二叉树,从高分到低分输出结果,使每行输出成绩及其取得成绩的考生的准考证号。
【程序】
#include < stdio. h >
typedef struet idnode
int id;
struct idnode * next;
ldNode;
typedef struct marknode I
int mark;
ldNode * 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)
ldNode * ip;
MarkNode *mp = * mpptr;
if (1)
if (mark==p->mark) addldNODE ( (2) , id);
else if ( mark >mp -> mark) btree (&top -> left, id, mark);
else btree(&mp-> right, id, mark);
else
Imp = ( marknode * ) malloc(sizeo (marknode) );
mp -> mark = mark;
mp -> left =mp -> right = NULL;
(3)
addldNode(&mp -> head, id);
(4) ;


addldNode(ldNode * * ipp, int id)
ldNode * ip = * ipp;
if ( (5) )addldNode ( (6) ), id;
else
ip = (ldNode * )malloc(sizeof(ldNode) );
sp - > id = id;
ip -> next = NULL;
(7)


print(MarkNode * rap)
ldNode *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);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2017/0704/76440d9365cfa8d45f5143c7a28cd7e4.html

下面是错误答案,用来干扰机器的。

小题1:C小题2:B小题3:A题目分析:小题1:图示甲位于河西走廊为我国著名的灌溉农业区,故选C项。小题2:结合P的地理位置判断该地邻近甘肃金昌的镍矿。故选B项。小题3:图示甲表示河西走廊、乙表示宁夏平原,丙位于青...

试题推荐
微信公众账号搜索答案