首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2019-07-10
55
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和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://kaotiyun.com/show/34ID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
6.葡聚糖是现在人气极高,食品科学和工业界很看好的一种可溶性纤维。某些葡聚糖也似乎对于增强免疫力更有效果——但是任何的膳食纤维都对健康大有裨益。与其花大钱去买“特别的”“增强免疫力”的纤维,多吃一些经济实惠的富含膳食纤维的食物是不是更划算?根据上文推断,作
人类经历过农业社会和工业社会两个历史阶段,现在已经启动了后工业进程,走向后工业社会是历史的必然。相应地,我们已经看到,农业社会的统治型政府不适应于工业社会的治理要求。同样,管理型政府也仅仅属于工业社会这个历史阶段,在人类后工业化的过程中,管理型政府所发挥的
迈向人工智能,关键在于________数据洪流。预计到2020年,全球将有500亿台相互连接的智能设备。随着互联的物体越来越多、越来越智能,将产生出________而来的数据洪流。填入画横线部分最恰当的一项是()。
试析共产国际与1920年代中国革命的关系。(南开大学2013年中国历史真题)
论述义和团运动对中国近现代史的影响。(四川大学2017年中国通史真题)
卡方检验要求每个单元格的理论次数不得小于5,如果小于5应该采用以下的哪些处理办法?()
一位教育学教师让每个学生报告他们用于准备考试的时间和考试时答错的题目数:忽略样本容量的问题,解释两种相关系数的大小为何有差异,在上述数据中,你认为哪种更准确地反映了数据的关系?
根据马克思主义法学的基本观点,下列表述哪项是不正确的?()
(2014年真题)《物权法》第70条规定:“业主对建筑物内的住宅、经营性用房等专有部分享有所有权,对专有部分以外的共有部分享有共有和共同管理的权利。” 请分析:本条规定的是何种权利?该权利的主要特征有哪些?
对下列二叉树进行中序遍历的结果是()。
随机试题
男性,62岁。因突发胸骨后剧痛16小时急诊。心电图示急性广泛前壁心肌梗死。入院1小时后心搏骤停,心电图示心室颤动。当恢复窦性心律后,应作下列哪项处理
患儿,10个月。牛奶喂养,未加辅食,因尚不能坐就诊。查体:外观虚胖,面黄,表情呆滞,舌及头不自主颤动,Hb60g/L,该患儿最可能的诊断为()
在分析工程项目抗风险能力时,应分析工程项目在不同阶段可能遇到的不确定性因素和随机因素对其经济效果的影响,这些阶段包括工程项目的()。
专利申请权转让自()起生效。
关于常规控制图要求总体特性值服从的分布,下列说法正确的有()。
去年引进的外国大片《马语者》,仅仅在白山市放映了一周,各影院的总票房收入就达到800万。这一次白山市又引进了《空军一号》,准备连续放映9天,1000万元的票房收入应该能够突破。根据以上文字包含的信息,分析以上推断最可能隐含了以下哪项假设?
南宋经济重心南移的原因?
下列行政机关实施行政强制措施的做法中,未违反《中华人民共和国行政强制法》规定程序的是()。
16根地址线的寻址范围是
A、BecauseLondontaxidriversallhavegonethroughaverytoughtrainingperiodtogetspecialtaxidrivinglicense.B、Because
最新回复
(
0
)