有定义:struct stu stu1[30];,若要将stu1中的30个元素写到文件fp中,以下不正确的形式是________。
A.fwrite(stu1,sizeof(struct stu),30,fp);
B.fwrite(stu1,30*sizeof(struct stu),1,fp);
C.fwrite(stu1,15*sizeof(struct stu),15,fp);
D.for(i=0;i<30;i++) fwrite(stu1+i,sizeof(struct>
A.fwrite(stu1,sizeof(struct stu),30,fp);
B.fwrite(stu1,30*sizeof(struct stu),1,fp);
C.fwrite(stu1,15*sizeof(struct stu),15,fp);
D.for(i=0;i<30;i++) fwrite(stu1+i,sizeof(struct>
【说明】
某超市集团为发展业务向社会公开招聘N个工种的工作人员,每个工种各有不同的编号(1至M)和计划招聘人数。每位应聘者需申报两个工种,并参加集团组织的考试。该集团公司将按应聘者的成绩从高分至低分的顺序进行排队录取。具体录取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其第二志愿录取。
以下C程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都作了录取处理后跳出。
C程序中,类型STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rzl)的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。
【C程序】
include
define N 36
define EDMARK 5
typedef struct stu {
int no, total, z[2], sortm, zi;
struct stu *next;
} STU;
struct rznode {
int lmt, count;
STU *next;
} rz [N];
STU *head = NULL, *over = NULL;
int all
FILE *fp;
char dataf [ ] = "zp2008.dat" ;
print(STU *p)
{ for (;p!=NULL; p = p->next)
printf("%d(%d) \t" , p->no, p->total
}
insert(STU **p, STU *u)
{ STU *v, *q;
for (q = *p;q != NULL; v = q , (1) )
if (q-> sortm < u->sortm)
break;
if (q == *p)
(2);
else
(3);
u->next = q ;
}
main ()
{ int zn, i, no, total, zl, z2 ;
STU *p, *v, *q;
fp = fopen(dataf, "r" );
if (fp == NULL)
{ printf ("Can't open file %s.kn" ,dataf);
exit (0);
}
fscanf (fp, "%d" ,&zn);
for (all = 0, i = 1; i <= zn; i++)
{ fscanf (fp, "%d", &rz [ i ].lmt ;
rz[i].count = 0;
rz[i].next = NULL;
all +=(4);
}
for (;;)
{ if ((fscanf(fp, "%d%d%d%d" ,&no,&total,&zl,&z2)) != 4 )
break;
p = (STU *) malloc (sizeof (STU));
p->no = no;
p->total = p->sortm = total;
p->zi = 0;
p->z[0] = z1;
p->z[1] = z2;
(5);
}
fclose (fp);
for (;all && head != NULL;)
{ p = head;
head = head->next;
if (rz[p->z[p->zi]].count <(6))
{ rz[p->z[p->zi]].count ++;
insert(&rz[p->z[p->zi]].next,p);
all--;
continue;
}
if (p->zi >= 1 )
{ p->next = over;
ver = p;
continue;
}
p->sortm -= DEMARK;
(7);
insert(&head,p);
}
for (i = 1; i <= zn; i++ )
{ printf("%d:\n" ,i);
print(rz[i ].next);
printf(" \n");
}
printf("over:\n" );
print(head);
print(over);
printf(" \n");
}
A、fp=fopen("my.dat", "r");
B、fp=fopen("my.dat", "rb+");
C、fp=fopen("my.dat", "rb");
D、fp=fopen("my.dat", "r+");
A、打开file1.txt文件,清除原有的内容;
B、打开file1.txt文件,只能写入新的内容;
C、打开file1.txt文件,只能读取原有内容;
D、打开file1.txt文件,可以读取和写入新的内容;
A.Basican
B.BasicFortran
C.Basic
D.FortranBasic
A、fp:接受数据的文件指针
B、buffer:数据块的内存首地址
C、size:所有数据块的的大小
D、count:执行一次fwrite()函数从内存写到fp文件的数据块数目
A、fp:要读取数据的文件指针
B、buffe:接受数据的内存首地址
C、size:一个数据块的字节数(即数据块的大小)
D、count:执行一次fread()函数读取的数据块的数目
A、position=1 position=13
B、position=0 position=1
C、position=0 position=12
D、position=1 position=12
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!