首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
admin
2023-02-27
71
问题
使用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全国计算机二级
相关试题推荐
在等差数列{an}中,若a4+a7+a10+a13=20,则S16=()。
某年级学生参加数学小组的有30人,参加语文小组的有40人,有10人只参加数学小组,10人两个小组都未参加,则该年级共有学生()人。
从5位男教师和4位女教师中选出3位教师,派到3个班担任班主任(每班1位班主任),要求这3位班主任中男、女教师都要有,则不同的选派方案共有()。
结合材料回答问题:材料1正确认识党和人民事业所处的历史方位和发展阶段,是我们党明确阶段性中心任务、制定路线方针政策的根本依据,也是我们党领导革命、建设、改革不断取得胜利的重要经验。党的十九届五中全会提出,全面建成小康社会、实现第一个百年奋斗目标
2001年10月,美国以反恐为名带领盟友入侵阿富汗。20年来,阿富汗战争是美国历史上持续时间最长的战争,不仅给美国带来旷日持久的巨大消耗,更给阿富汗人民带来深重灾难。美国东部时间2021年8月30日23时59分,美军最后一架C-17运输机飞离喀布尔国际机场
某企业生产10000件商品,固定资本额为10万元,使用年限为10年,投入流动资本为5万元,周转时间为3个月。雇佣工人200人,月平均工资30元,每件商品的社会价值为30元。年预付资本的周转速度是()
求下列函数的导数:y=ln(chx);
设(X,Y)是二维随机变量,X的边缘概率密度函数为在给定X=x(0<x<1)的条件下,Y的条件概率密度函数为求(X,Y)的概率密度f(x,y);
随机试题
在以患者作为受试者的临床试验中,从伦理视角看,下列表述正确的是
影响龋病流行的有关因素不包括
由于历史发展轨迹与文化传统不同,欧洲城市与中国城市明显不同,表现在于()。
评标委员会按规定请投标人对不明确之处作出澄清的内容作为( )的组成部分。
【背景资料】某市政工程,建设单位通过公开招标与甲施工单位签订施工总承包合同,依据合同,甲施工单位通过招标将钢结构工程分包给乙施工单位,施工过程中发生了下列事件:事件一:甲施工单位项目经理安排技术员兼施工现场安全员,并安排其负责编制深基坑支护与降水工程专
不同法的形式具有不同的法律效力和地位,下列项目中,法律效力和地位低于地方性法规的是()。
关于阻抗,下列说法不正确的是()。
防空洞的截面拟建成矩形加半圆(如图1.2—1),截面的面积为5平方米,问底宽x为多少时才能使建造时所用的材料最省?
Povertyexistsbecauseoursocietyisanunequalone,andthereareextremelystrongandpowerfulpoliticalpressurestokeepi
Genealogy,thestudyoffamilyhistory,isthesecondmostpopularhobbyinAmericatoday.MillionsofAmericans【C1】sp______the
最新回复
(
0
)