首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2019-04-14
46
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数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://kaotiyun.com/show/H1Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
结构化程序由三种基本结构组成,三种基本结构组成的算法()。
E-R图是数据库设计的工具之一,它一般适用于建立数据库的______。
执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。 #include <stdio.h> main() { FILE *fp; char *s1="Fortra
在下列叙述中,正确的一条是______。
若有说明:inta[][3]={0,0};则不正确的叙述是()。
下列叙述中正确的是______。
在关系数据库中,对一个关系做投影操作后,新关系的元组个数将()
有说明char.*c[]={"European","Asian","American","African"};则下列叙述中正确的是
结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。
随机试题
戴望舒著有诗集《我的记忆》《望舒草》《双桅船》《望舒诗稿》等。()
在计算机通信中传输的是信号,把直接由计算机产生的数字信号进行传输的方式称为宽带传输。()
ACh的作用是:卡巴胆碱的作用是:
龋病牙体缺损的治疗方法是
患者,男,35岁。缺失3个月,要求固定修复。如果近中倾斜,可采用的改良方法,除外
装配件表面除锈及污垢清除,宜采用()进行清洗。
位于市区的某公司(增值税一般纳税人)2012年度部分资产情况如下:2012年度生产经营情况如下:(1)1~12月取得境内产品销售收入3000万元(含12月份200万元)、取得出口产品销售收入5000万元(含12月份600万元);企业内部设立的非
下列行为属于行政强制执行的是()。
在SQL语句中,与表达式"序号NOTIN("r1","r2")"功能相同的表达式是
A、StayingatHomeB、WorkandHappinessC、WorkandProductivityD、AmericansandEuropeansB选项中实词的首字母都大写表明,本题考查短文标题。短文从各个方面对美国人和欧洲
最新回复
(
0
)