首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun()的功能是从形参fil
admin
2023-02-27
104
问题
使用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全国计算机二级
相关试题推荐
A.条件(1)充分,但条件(2)不充分B.条件(2)充分,但条件(1)不充分C.条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分D.条件(1)充分,条件(2)也充分E.条件(1)和条件(2)单独都不充分,条件(1)和条件(2)联
甲从A地出发往B地方向追乙,走了6个小时尚未追到,路旁店主称4小时前乙曾在此地,甲知此时距乙从A地出发已有12小时,于是甲以2倍原速的速度继续追乙,到B地追上乙,这样甲总共走了约()小时(取最近的选项)。
用1,2,3,4,5这五个数字,组成没有重复数字的三位数,其中偶数共有()。
从0,1,2,3,4每次取出不同的三个数字组成三位数,那么这些三位数的个位数字之和为()。
由数字0,1,2,3,4,5组成的无重复数字且奇偶数字相问的六位数有()。
设无穷等比数列所有奇数项之和为15,所有偶数项之和为-3,a1为首项,则a1=()。
在a和b(a≠b)两数之间插入n个数,使它们与a,b成等差数列,则该数列的公差是()。
|x-1|+|x-3|=4-2x,其非负整数解有()个。
以下关于1000BASE—T的叙述中,错误的是________。
进程P1、P2、P3、P4和P5的前趋图如下所示:若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为____(1)____;空③和空④处应分别为___(2)_____;空⑤和空⑥处应分别为___(3)_____。
随机试题
上盛下虚,寒痰喘咳,最宜选用( )
A、孕妇忌用B、湿热中阻者忌用C、胃阴虚者不宜用D、阴虚内热胃痛及湿热痞满泄泻者忌用E、湿热痞满泄泻者不宜用开胃健脾丸的使用注意是
顺利公司系张某与他人合股依法注册成立的公司。张某的朋友陈某因需资金周转,遂向张某借款,承诺给予张某l0万元好处费并给予公司高于银行贷款的利息。张某见有利可图,将公司所有的500万元借给陈某。后因为公司发展需要急需资金,张某又编造理由向银行贷款500万元。半
杰斐逊(M.Jefferson),所提出的“首位城市”指的是()的概念。
根据民法上的共有理论,关于共有的说法,正确的有()。
安徽省下列历史文化名城中,有徽墨、徽菜、徽厨、徽剧之乡美誉的是()县。
对同一问题所提的意见越新奇独特,则其思维的()越高。
简述社会规范遵从的含义和特点。
结合材料回答问题:材料1当前,我国正处于经济增速换挡期、结构调整阵痛期、前期刺激政策消化期“三期叠加”阶段,经济增速有所回落是必然现象,是一种新常态。因此,我们既要保持一定发展速度,又不能过于看重速度,而是要本着对历史负责、对人民负责的
DearMr.Suzuki,ThegoodswereceivedonJuly15werefoundnottomatchourorder.ThegoodsweorderedwereItemNo.2345
最新回复
(
0
)