[说明]
函数ELEM*proc(FILE*fp)从文件fp中逐个读入职工的工号及其完成的产品数量,对相同工号的产品数量计入该职工完成的产品总数,并且按照产品总数降序排列,若多个职工完成的产品总数相同,则按工号升序排列。
在函数中建立了一个有序链表,来存储每个职工的工号和完成产品总数等数据,其结点类型为:
typedef struct ELE
int no; /*职工工号*/
int num; /*完成的产品总数*/
struct ELE *next;
ELEM;
[函数]
ELEM *proc (FILE *fp)
int m,n;
ELEM *u, *v, *p, *base;
base=NULL; /*bese是链表的首指针*/
while(fscanf(fp,"%d%d", &n, &m) ==2)
/*链表中是否存在工号为n的结点*/
for (v=base; v!=NULL&& v->no! =n; (1) );
if(v!=NULL) /*若链表中已有工号为n的结点v,则将其从链表中脱钩*/
if( (2) ) base=v->next;
else u->next=v->next;
v->num+=m; /*累加工号为n的职工完成的产品数量*/
else /*创建一个工号为n的结点*/
v=(ELEM *)malloc(sizeof(ELEM));
V->no=n:
V->num=m;
/*寻找结点v的插入位置*/
p=base;
while(p!=NULL)
if (v->num>p->num || v->num==p->num && (3) ) break;
elseu=p; p=p->next;
/*将结点v插入链表*/
if(p==base) (4) ;
else u->next=v;
(5) ;
return base;
题库:初级程序员
类型:填空题
时间:2017-07-03 12:01:07
免费下载:《填空集》Word试卷
[说明]
函数ELEM*proc(FILE*fp)从文件fp中逐个读入职工的工号及其完成的产品数量,对相同工号的产品数量计入该职工完成的产品总数,并且按照产品总数降序排列,若多个职工完成的产品总数相同,则按工号升序排列。
在函数中建立了一个有序链表,来存储每个职工的工号和完成产品总数等数据,其结点类型为:
typedef struct ELE
int no; /*职工工号*/
int num; /*完成的产品总数*/
struct ELE *next;
ELEM;
[函数]
ELEM *proc (FILE *fp)
int m,n;
ELEM *u, *v, *p, *base;
base=NULL; /*bese是链表的首指针*/
while(fscanf(fp,"%d%d", &n, &m) ==2)
/*链表中是否存在工号为n的结点*/
for (v=base; v!=NULL&& v->no! =n; (1) );
if(v!=NULL) /*若链表中已有工号为n的结点v,则将其从链表中脱钩*/
if( (2) ) base=v->next;
else u->next=v->next;
v->num+=m; /*累加工号为n的职工完成的产品数量*/
else /*创建一个工号为n的结点*/
v=(ELEM *)malloc(sizeof(ELEM));
V->no=n:
V->num=m;
/*寻找结点v的插入位置*/
p=base;
while(p!=NULL)
if (v->num>p->num || v->num==p->num && (3) ) break;
elseu=p; p=p->next;
/*将结点v插入链表*/
if(p==base) (4) ;
else u->next=v;
(5) ;
return base;
本题关键词:工程数量,合同工程完工验收,施工合同文件,工程说明,已完工程量,其他构件工程,文明工地,产品说明书,工程承包合同文件,完工率;