首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2019-04-14
32
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#define N 5
typedef struct student{
long sno;
char name[10];
float score[3];}STU;
void fun(chat*filename)
{
FILE *fp;int i,j;
STU S[N],1;
/* * * * * * found * * * * * */
fp=fopen(filename,___1___);
fread(s,sizeof(STU),N,fp);
fclose(fp);
for(i=0;i<N—1;i+ +)
for(j=i+1;j<N;j+ +)
if(s
.sno___ 2___s[j].sno)
{
t=s
;s
=s[j];s[j]=t;
}
fp=fopen(filename,″wb″);
/* * * * * * found * * * * * */
___3___(s,sizeof(STU),N,fp);
fclose(fp);
}
main()
{
STU[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];
int i,j;FILE *fp;
fp=fopen(″student.dat″,″wb″);
fwrite(t,sizeof(STU),5,fp);
fclose(fp);
pfintf(″\nThe original data:\n″);
for(j=0;j<N;j+ +)
{
printf(″\nNo:%ld Name:%—8sScores:″,t[j].sno,t[j].name);
for(i=0;i<3;i+ +)
printf(″%6.2f″,t[j].score
);
printf(″\n″);
}
fun(″student.dat″);
printf(″\nThe data after sorting:\n″);
fp=fopen(″student.dat″,″rb″);
fread(ss,sizeof(STU),5,fp);
fclose(fp);
for(j=0;j<N;j+ +)
{
printf(″\nNo:%ld Name:%—8sScores:″,ss[j].sno,ss[j].name);
for(i=0;i<3;i+ +)
printf(″%6.2f″,ss[j].score
);
printf(″\n″);
}
}
选项
答案
(1)″r″ (2)> (3)fwrite
解析
填空1:题目中要求从形参filename所指的文件中读入学生的数据,以此可以看出本空应该填写″r″。
填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。
填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写:fwrite。
转载请注明原文地址:https://kaotiyun.com/show/H1Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请读程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\
有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c
结构化程序由三种基本结构组成,三种基本结构组成的算法()。
数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。
以下程序运行后的输出结果是______。inta=5;fun(intB){staticinta=10;a+=b++;printf("%d",A);}main()
在面向对象方法中,()是具有相似性质的对象的集合。
在下列关于C语言的局部变量和全局变量所采取的存储类别的叙述中,错误的一条是()
以下叙述中错误的是
设q1和q2是指向一个float型一维数组的指针变量,k为float型变量,则不能正确执行的语句是()。
下列说法不正确的是()。
随机试题
学生在教育者的帮助下,主动地进行自觉学习、自我反思、自我锻炼、自我监控等来提升自己修养的德育方法是()
患儿,14岁,休克型肺炎。经抢救病情稳定,医嘱:10%葡萄糖注射液400ml+多巴胺20mg,VD。若滴速20滴/分,则告诉家长输液可维持的时间是
右图所示甲为已建的6层建筑物,天然地基基础埋深2.0m,乙为拟建的12层建筑物,设半地下室,筏形基础,两建筑物的净距为5m,拟建建筑物乙对已有建筑物甲可能会产生下列选项中的哪种危害?()
我国科技发展按照()的方针i总体跟进,重点突破,提高科技持续创新能力,实现技术跨越式发展。
《中华人民共和国会计法》规定作为记账凭证的编制依据必须是()的原始凭证和有关资料。
2006年通过的《反洗钱法》规定了金融机构反洗钱的义务不包括()。
在我国,主要体现中央银行“银行的银行”职责的业务是()。
甲公司适用的所得税税率为25%。相关资料如下:资料一:2010年12月31日,甲公司以银行存款44000万元购入一栋达到预定可使用状态的写字楼,立即以经营租赁方式对外出租,租期为2年,并办妥相关手续。该写字楼的预计可使用寿命为22年,取得时成本和计税基
简述“二战”后国际政治格局由两极格局向多极化转变的原因。
串操作指令中,有REP 前缀的串操作指令结束的条件是( )。
最新回复
(
0
)