首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2019-04-14
28
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#define N 5
typedef struct student{
long sno;
char name[10];
float score[3];}STU;
void fun(chat*filename)
{
FILE *fp;int i,j;
STU S[N],1;
/* * * * * * 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];
int i,j;FILE *fp;
fp=fopen(″student.dat″,″wb″);
fwrite(t,sizeof(STU),5,fp);
fclose(fp);
pfintf(″\nThe original data:\n″);
for(j=0;j<N;j+ +)
{
printf(″\nNo:%ld Name:%—8sScores:″,t[j].sno,t[j].name);
for(i=0;i<3;i+ +)
printf(″%6.2f″,t[j].score
);
printf(″\n″);
}
fun(″student.dat″);
printf(″\nThe data after sorting:\n″);
fp=fopen(″student.dat″,″rb″);
fread(ss,sizeof(STU),5,fp);
fclose(fp);
for(j=0;j<N;j+ +)
{
printf(″\nNo:%ld Name:%—8sScores:″,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://jikaoti.com/ti/Sqf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
要求以下程序的功能是计算main(){intn;floats;S=1.0;for(n=10;n>1;n--)s=S+1/n;printf("%6.4f\n",
已知i、j、k为int型变量,若要从键盘输入2、3、4<CR>,使i、j、k的值分别为2、3、4,下列正确的输入语句是()。
数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。
在C语言中,运算对象必须是整型数的运算符是
在深度为5的满二叉树中,结点的个数为
设有如下程序:main(){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。main(){floa
在面向对象的程序设计中,类描述的是具有相似性质的一组【】。
从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【 】。
下列说法正确的是()。
随机试题
具有抗肿瘤效应的第一道防线是()
纤维蛋白性心包炎的典型体征是
按照(),工程项目可分为政府投资项目、企业投资项目及利用外资等项目。
在建设地区选择时,应尽可能靠近原料产地的项目是()。
当一家银行的实力范围狭窄、资源有限,或是面对强大的竞争对手时,()可能就是它唯一可行的选择。
下列关于耕地占用税的表述中,正确的有()。
积极履行公务的要求:一是严格履行《人民警察法》规定的各项职责,尽职尽责,恪尽职守,二是正确行使《人民警察法》规定的各项权力,决不以权谋私;三是执法不阿,敢于同一切不正之风作斗争。()
给定资料1.“分类型垃圾桶网上卖断货了”“工作太忙只能求助爸妈或保姆,家人多了很多话题”“公司里个人座位旁的垃圾桶都没有了,扔垃圾人都跑瘦了”……近日,强制垃圾分类成为网络热门话题,一些个人生活习惯悄然改变。上海市民宋女士说,为减少垃圾分类错
将数组{1,1,2,4,7,5J从小到大排序,若采用(62)排序算法,则元素之间需要进行的比较次数最少,共需要进行(63)次元素之间的比较。(62)
PaulwasorderedtopayClara$600becauseAfterhiswifeandchildrendied,Paulturnedtohisworkto
最新回复
(
0
)