首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2019-07-10
49
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#define N 5
typedef struct student{
long sno;
char name[10];
float score[3];
}STU;
void fun(char fiiename)
{FTLE *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(STU),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:%ld 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
{printf("\nNo:%ld 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
解析
第一空:根据题干要求,“fp=fopen(filename,__1__);”是打开filename所指文件,读出学生数据“fread(s,sizeof(STU),N,fp);”,然后关闭文件“fclose(fp)”,故第一空处是只读方式打开文件,因此第一空处应为“”rb””。
第二空:根据题意,for循环是将学生数据按照学号从小到大排序后,这里采用的是冒泡法排序,如果发现前面的数据比后面的大则交换,故第二空处应为“>”。
第三空:文件是以只写方式(“wb”)打开,执行“3(s,sizeof(STU),N,fp);”后,关闭文件,即第三处是一次把所有学生数据写入文件,这是执行数据块写函数fwrite,故第三宁处为“fwrite”。
转载请注明原文地址:https://jikaoti.com/ti/DRkiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
阅读以下文字,回答下列问题。从本质上讲,每个人都有两个年龄:一个是时间年龄,日历说你多大了;另一个是生理年龄,它以你的身体功能为基础,是与平均的健康水平对应的。“时间年龄并不是我们真正的年龄,这只是一个数字。”哈佛大学教授大卫·辛克莱说
古村落面临着继续前行、接受改造和灰飞烟灭三条道路。其实,这些情况是带有普遍性的。据冯骥才先生统计,2000年国内共有371万个自然村,到2010年只剩下263万个。十年消失了108万个,平均每天消失近300个。这其中绝大部分是古村落。这一方面反映出古村落处
汉字的产生从根源和雏形上说,来自劳动人民,汉字简化的动力主要来自民间。但经过采集、整理和加工创造而形成的汉字,则出于史卜和达官贵人之手。文明社会早期只有宫廷和贵族才有文化,他们祭天祀祖征战讨伐需要巫师神汉算命打卦占卜扶乩。商代甲骨文相对成熟,比较系统。但因
3D电视是一种能够________实际景物的真实空间关系的新型电视,对观众而言,延伸于屏幕前的景物具有________的震撼效果。填入画横线部分最恰当的一项是()。
试析斯巴达的政治制度与社会结构的内容及其成因。(北京师范大学2001年世界史真题;华中师范大学2003年世界古代史真题)
根据教育的定义,下列哪一个选项不是教育活动?
材料1:消费者陈女士为在外地大学读书的女儿通过甲快递公司快递一封信件,第3天陈女士接到女儿电话,问为什么还没有收到信件。陈女士很奇怪,便致电甲快递公司,快递公司承认工作人员开封检查了,但对陈女士和其女儿提出的赔偿要求予以拒绝,理由是快递公司有规定
秦朝的(),是关于案件的调查、勘验及审讯等程序的文书程式。
构建社会主义和谐社会同建设物质文明、政治文明、精神文明的关系是
某商品经营管理系统使用SQLServer数据库。在数据库中存在销售单据表,建表语句为:CREATETABLE销售单据表(销售单据编号char(20),付款总金额money,销售日期datetime,销售人员
随机试题
以下来源不属于毛茛科的药材是()。
对基金产品的未来收益进行预测属于()。
患者,女,49岁。因左下牙疼痛2个月,下唇麻木3周就诊,检查见,左下唇较对侧感觉迟钝,左下颌多数牙松动Ⅱ度,无龋坏,全景片示左下颌体区见一2cm×3cm的边界不清的密度减低区,牙根有吸收。根据以上临床表现,最可能的诊断是
具有降逆止呕功效的药物是
患儿,女性,3岁。因上呼吸道感染入院。1日前出现高热,声音嘶哑,犬吠样咳嗽,吸气性喉鸣。为迅速缓解症状,首选的处理方法是
个人征信系统所收集的个人信用信息不包括配偶的身份信息。()
对于承租入来说,租金可以在税前扣除,减少税基从而减少应纳税额。()
甲在乘坐飞机的过程中将一装有锯末的黑色包装袋密封后放置在飞机坐席下的隐蔽处,下飞机后对其好友乙说,某航班有炸弹,今天可能有好戏看。乙熟悉甲的胆量和脾气,知道其不可能放置真正的炸弹,但为了制造真实景象,对甲的描述作加工处理后告诉其好友丙、丁,丙、丁二人深信不
【61】ThemainimpressiongrowingoutoftwelveyearsonthefacultyofamedicalschoolisthattheNo.1healthproblemintheU
Sometrytoreasonwiththepoliceofficerwhohaspulledthemoverforsomerealorimaginedtrafficoffense.Butwhenlawen
最新回复
(
0
)