首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
admin
2023-02-27
67
问题
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参filename所指的文件中读入学生数据,先按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序在文件blank1.c中。
不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.n>
2 #define N 5
3 typedef struct student{
4 long sno;
5 char name[10];
6 float score[3];
7 }STU;
8 void fun(char*filename)
9 {FILE*fp;int i,j;
10 STU s[N],t;
11 /*********found*********/
12 fp=fopen(filename,<u>【1】</u>);
13 fread(s,sizeof(STU),N,fp);
14 fclose(fp);
15 for(i=0; i<N-1;i++)
16 for(j=i+1;j<N;j++)
17 /*********found*********/
18 if(s
.sno<u>【2】</u>s[j].sno)
19 {t=s
;s
=s[j];
20 s[j]=t;}
21 fp=fopen(filename,"wb");
22 /*********found*********/
23 <u>【3】</u>(s,sizeof(STU),N,fp);
24 fclose{fp);
25 }
26 main()
27 { STU t[N]={{10005,"ZhangSan",
95,80,88},{10003,"LiSi",85,70,
78},{10002,"CaoKai",75,60,88},{10004,"FangFang",90,82,87},{10001,"MaChao",91,92,77}},ss[N];
28 int i,j;FILE*fp;
29 fp=fopen("student.dat","wb");
30 fwrite(t,sizeof(STU),5,fp);
31 fclose(fp);
32 printf("\n\nThe original data:\n\n");
33 for(j=0;j<N;j++)
34 {printf("\nNo:%ld Name:%-8sScores:",t[j].sno,t[j].name);
35 for(i=0;i<3;i++)
36 printf("%6.2f",t[j].score
);
37 printf ("\n");
38 }
39 fun("student.dat");
40 printf("\n\nThe data after sorting:\n\n");
41 fp=fopen("student.dat","rb");
42 fread(ss,sizeof(STU),5,fp);
43 fclose(fp);
44 for(j=0;j<N;j++)
45 {printf("\nNo:%ld Name:%-8s Scores:",ss[j].sno,ss[j].name);
46 for(i=0;i<3;i++)
47 printf("%6.2f",ss[j]. score
);
48 printf("\n");
49 }
50 }
选项
答案
(1)"rb"(2)> (3)fwrite
解析
填空1:题目中要求从形参filename所指的文件中读入学生的数据,以此可以看出空1处应该填"rb"。
填空2:此处的if语句用来比较学号的大小,如果学号大,就和学号小的换位,故空2处应该填>。
填空3:题目要求所有的学生数据均以二进制方式输出到文件中,故空3处应该填fwrite。
转载请注明原文地址:https://kaotiyun.com/show/6D0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
队列长度是800米的队伍行军速度为每分钟100米,在队尾的某人以3倍于行军的速度赶到排头,并立即返回队尾所用的时间是()。
5名选手在一次数学竞赛中共得404分,每人得分互不相等,并且其中得分最高的选手得90分,那么得分最少的选手至多得()分。
乒乓球队的10名队员中有3名主力队员,现需派5名队员参加比赛,其中3名主力队员要安排在第一、三、五位置,其余7名队员选2名安排在第二、四位置,那么不同的出场安排共有()。
函数f(x)=x2+bx+c对于任意实数t都有f(2+t)=f(2-t),则()。
|x-1|+|x-3|=4-2x,其非负整数解有()个。
一个长1m、宽8cm、高5cm的长方体木料锯成长度都是50cm的两段,表面积比原来增加()平方厘米。
19世纪60至70年代,以王韬、薛福成、马建忠、郑观应为代表的早期维新派从洋务派中分离出来。他们主张经济上发展资本主义经济和科学技术,政治上实行君主立宪制,文化上学习西方思想文化。这些主张()
毛泽东在《论持久战》中指出,抗日战争要经过的三个阶段是________。
判断下列函数的奇偶性:f(x)=x+sinx;
对下面4个网络:110.125.129.0/24、110.125.130.0/24、110.125.132.0/24和110.125.133.0/24进行路由汇聚,能覆盖这4个网络的地址是________。
随机试题
G蛋白是指()
Ⅱ型糖尿已用磺脲类药物控制不理想,中医辨证属血瘀气滞证。宜选用
数字显示仪器的分辨力为1μm,可假设在区间内的概率分布为均匀分布,则由分辨力引起的标准不确定度分量为__________。
某宗物业的收益期限为38年,通过预测得到其未来5年的净收益分别为20万元、22万元、25万元、28万元、30万元,从未来第6年到第38年,每年的净收益将稳定在35万元左右,该类物业的报酬率为10%,则该宗物业的收益价格为()万元。
电子档案信息可以不受时间和空间限制通过网络传播的属性是()。
2010年全年,北京地区进出口总额3014.1亿美元,比上年增长40.3%。其中出口554.7亿美元,增长14.7%;进口2459.4亿美元,增长47.8%。“十一五”期间,北京地区进出口总额累计达到11389.3亿美元,是“十五”时期的2.9倍。其中出口
3阶实对称矩阵构成R上的线性空间,求它的一组基和维数.
对建立良好的程序设计风格,下面描述正确的是()。
下列有关虚函数的表述中,错误的是
Thedecisionaboutwheretolivewhilestudyingatthetertiarylevelcanhaveamajorinfluenceonastudent’schancesofsucce
最新回复
(
0
)