首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
admin
2023-02-27
87
问题
使用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全国计算机二级
相关试题推荐
正方形ABCD的边长为a,以AB、BC、CD、DA分别为直径画半圆,这四个半圆弧所围成的阴影部分的面积为()。
在等比数列{an}中,a1=1,a10=3则a2a3a4a5a6a7a8a9=()。
已知多项式f(x)=x3+a2x2+ax-1除以x+1所得余数为-2,则实数a的值为()。
数列1,3,7,15,…的通项公式an=()。
把剩余价值转化为资本,或者说剩余价值的资本化,就是资本积累。马克思关于资本积累的学说是剩余价值理论的重要组成部分。资本积累的源泉是()
《天朝田亩制度》和《资政新篇》是太平天国运动时期重要的纲领性文件。关于《天朝田亩制度》和《资政新篇》,下列说法中正确的是()
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。【说明】电商公司A近期新并购一电商平台,信息化团队、信息系统架构、运维服务体系均随之发生变化,原IT服务模式己无法满足业务扩展。针对A公司的服务需求,A公司的服务供应商S公司主动对原有的IT服务模式
以下关于敏捷开发方法特点的叙述中,错误的是________。
中间件是提供平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。中间件的基本功能包括:为客户端和服务器之间提供___①_____;提供____②____保证交易的一致性;提供应用的___③_____。③
一棵二叉树共有20个节点,其中5个是叶子节点,则度为1的节点数为()。
随机试题
简述狭义无权代理的情形。
先天性心脏病的并发症是
男性,38岁,车祸伤半小时。查体:发绀,烦躁不安,呼吸困难。左胸第5肋间处见直径约4cm不规则创口并可闻及气体进出声。此病例的病理生理改变是
ABC会计师事务所通过招投标程序接受委托,负责审计上市公司甲公司2008年度财务报表,并委派A注册会计师为审计项目组负责人,在招投标阶段和审计过程中,ABC会计师事务所遇到下列与职业道德有关的事项:(1)应邀投标时,ABC会计师事务所在其投标书中说明,如果
适应障碍是指在遭遇生活事件后()起病。
在五四运动95周年之际,习近平总书记到北京大学考察,勉励青年学生“人生的扣子从一开始就要扣好”。请联系实际,谈谈你对这句话的认识。
接受学习一定是没有意义的,发现学习一定是有意义的。
设D={(x,y)|0≤x≤π,0≤y≤π},则等于()
Lovecan’tconquerall.So,beforecouplestietheknot,theyshouldknowwhatthey’regettinginto.Thetabooagainstcouplesl
Inrecentyears,railroadshavebeencombiningwitheachother,mergingintosuper-systems,causingheightenedconcernsaboutm
最新回复
(
0
)