首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2020-05-14
113
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include
#define N 5
typedef struct 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
for(j=i+1;j
/*********found*********/
if(s
.sno【2】s[j].sno)
{t=s
;s
=s[j];
s[j]=t;}
fp=fopen(filename,"wb");
/*********found*********/
【3】(s,sizeof(STH),N,fP);
fclose(fp);
}
main()
{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];
int i,j;FILE,*fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),5,fp);
fclose(fp);
printf("\n\nThe original data:\n\n");
for(j=0;j
{printf("\nNo:%id Name:%一8s
scores.",t[j].sno,t[j].name);
for(i=0;i<3;i++)
printf("%6.2 f",t[j].
score
);
printf("\n");
}
fun("student.dat");
printf("\n\nThe data after
sorting:\n\n");
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),5,fp);
fclose(fp);
for(j=0;j
{print~("\nNo:%id Name:%一8s
Scores:",ss[j].sno,ss[j].name);
for(i=0;i<3;i++)
printf("%6.2 f",ss[j].
score
);
printf("\n");
}
}
选项
答案
(1)"rb" (2)> (3)fwrite
解析
填空1:题目中要求从形参filename所指的文件中读入学生的数据,以此可以看出本空应该填写”rb”。
填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。
填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。
转载请注明原文地址:https://kaotiyun.com/show/Gv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
通过公有派生类的对象,只能访问基类成员中的()。
如果一个模板声明时有类型形参表,则多个参数之间必须使用_______隔开,每个参数都必须重复使用关键字______。
根据下面的程序,可以在主程序中使用的合法语句是( )。 #include <iostream> using namespace std; class Person{ int age; public:
在软件开发中,下面任务不属于设计阶段的是
下选项中不属于c++的类型的是______。
下面关于纯虚函数和抽象类的描述中,______是错误的。
下列关于关系运算的叙述中正确的是
下述关于数据库系统的叙述中正确的是
C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【】方式。
若有int*x[3]:则以下表述正确的是______。
随机试题
用人单位有重大劳动保障违法行为的,由有关的劳动保障行政部门向_______公布。()
为了医院整体效应的发挥,最经济的办法是
临床上创口分类中包括
患儿,男,10个月,因发热、咳嗽、惊厥来院就诊。体检:T39.8℃,咽充血,前囟平。该患儿惊厥的原因可能是
项目在核准文件有效期内未开工建设的,项目单位应在核准文件有效期届满()前向原项目核准机关申请延期,原项目核准机关应在核准文件有效期届满前做出是否准予延期的决定。
某高校新建一栋办公楼和一栋实验楼,均为现浇钢筋混凝土框架结构。办公楼地下1层、地上11层,建筑檐高48m;实验楼6层,建筑檐高22m。建设单位与某施工总承包单位签订了施工总承包合同。合同约定:①电梯安装工程由建设单位指定分包;②保温工程保修期限为10年。
边防治安工作主要是维护边境地区的治安秩序,保护国界安全的不可侵犯性。( )
A、6.1B、5.3C、4D、2D(26.4÷6.6)一2=2;(13.6÷1.7)一6=2;(10.8÷2.7)一?=2=2,故选D。
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量的连接需求,欲构建数据管理中间件,其主要功能如下:(1)数据管理员可通过中间件进行用户管理、操作管理和权限管理。
OnegreaterbenefitoftheWebisthatitallowsustomoveinformationonlinethatnowresidesinpaperform.Electroniccommer
最新回复
(
0
)