首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2018-09-10
64
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#deftne N5
typedef stract student{
long sno;
char name[10];
float score[3];}STU;
void fun(char*filename)
{
FILE*fp;int i,j;
STU s[N],t;
/******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];
iuti,j;FILE*fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),5,fp);
fclose(fp);
pfinff("\nThe original data:\n");
for(j=0;j<N;j++)
}
pfinff("\nNo:%ld Name:%-8s
Scores:",t[j].sno,t[j].name);
for(i=0;i<3;i++)
pfinff("%6.2f",t[j].score
);
pfinff("\n");
}
fun("student.dat");
pfinff("\nThe data after sorting:\n");
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),5,fp);
fclose(fp);
for(j=0;j<N;j++)
{
pfinff("\nNo:%1dName:%-8s
Scorest",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/5Vxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知:imc[3][4];,则对数组元素引用正确的是()。
数据库、数据库系统和数据库管理系统之间的关系是
栈通常采用的两种存储结构是
以下程序通过函数SunFun求这里f(x)=x2+1,由F函数实现。请填空。main(){printf("Thesum=%d\n",SunFun(10));}SunFun(intn){intx,s=
设有下列的程序段:charstr[]="Hello";char*ptr;ptr=-str;执行上面的程序段后,*(ptr+5)的值为______。
在结构化分析使用的数据流图中,使()解释其中的图形元素。
以下程序的输出结果是_______。main(){inti;for(i=1;i<6;i++){if(i%2)(printf("#");continue;}printf("*");
设函数fun的定义形式为:voldfun(charch,floatx){……}则以下对函数fun的调用语句中,正确的是()。
随机试题
电源力使正电荷沿电位升高的路径移动。()
关于胫腓骨骨折的叙述,哪一项是错误的:
根据药物浓度及时间,可以绘制某药物的药时曲线,根据药时曲线可定量地分析药物在体内动态变化的规律性和特征。药时曲线的升段主要反应
不属于眼折光系统的结构是()
藏医常用的治疗方法有()
关于盗掘古文化遗址、古墓葬罪的认定,下列哪些选项是正确的?()
下列关于控制器功能的描述中,正确的有()。
对提高职业道德修养有价值的方式是()。
某同学将轻质不可伸长的晾衣绳两端分别固定在竖直杆M、N上的a、b两点,将衣架挂在绳上晾晒衣物,衣架挂钩可视为光滑。晾晒一件短袖T恤时,衣架静止于如图位置。当晾晒一件厚滑雪衫时,该同学担心晾衣绳可能会断,为防止绳断,他应该_______。
下列关于唐代涉外机构描述正确的一项是()。①将作监②鸿胪寺③互市监④市舶司
最新回复
(
0
)