首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2020-05-14
94
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数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://www.kaotiyun.com/show/Gv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include"iostream.h"voidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:
虚函数必须是类的
下列程序的执行结果为#include<iostream.h>voidmain(){inta=3,b=0;int*p=&a;b=+a++;cout<<
若有如下语句#include<iostream.h>voidmain(){intx=3:do{X=X-2;cout<<X;}while(!(--x)
在深度为5的完全二叉树中,度为2的结点数最多为______。
常用的黑箱测试有等价分类法、______、因果图法和错误推测法4种。
已知一个函数模板定义为template<typenameT1.typenaineT2>T1FUN(T2n){returnn*5.0;}若要求以int型数据7为函数实参调用该模板函数,并返回一个double型数据,则
程序设计方法要求在程序设计过程中
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数
下列叙述中正确的是
随机试题
女,60岁。路滑不慎跌倒,右臀部着地,扶起不能行走,右髋部明显压痛,经X线摄片诊断为右股骨颈骨折,其右下肢畸形的位置应是
在盘存日期,只有存放在本企业内的存货才视为企业的存货。()
纳税人分立时未缴清税款的,分立后的纳税人对未履行的纳税义务应当承担连带责任。()
非同一控制下的企业合并,下列说法中正确的有()。
经营者的特殊劳动消耗补偿体现在()。
学习过程中学习者通过观察榜样的行为受到强化,从而在自己身上也产生了类似的强化效果,班杜拉称这种现象是()。
我没有摘花的习惯。我只是伫立凝望,觉得这一条紫藤萝瀑布不只在我眼前,也在我心上缓缓流过。流着流着,它带走了这些时候一直压在我心上的焦虑和悲痛,那是关于生死谜、手足情的。我浸在这繁密的花朵的光辉中,别的一切暂时都不存在,有的只是精神的宁静和生的喜悦。对
根据下面材料回答下列题。据国家统计局2008年4月公布,2008年3月份,“国房景气指数”为104.72,比2月份回落0.83点。比去年同期上升3.50点。具体的各分类指数情况如下:3月份资金来源分类指数为102.38,比2月份回落1.
美国食品和药物管理局(FDA)管理在市场中引人的新的治疗药剂,因此它在提高美国人的健康保健方面起了非常关键的作用。那些在学校里、政府研究团体内的人的职责是从事长期的研究,以图发现新的治疗药剂,并对它们进行临床验证。而使实验室里的新发现比较容易地转移到市场上
Writeanessayof160-200wordsbasedonthedrawing.Inyouressay,youshould1)describethedrawingbriefly,2)explainit
最新回复
(
0
)