首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2018-03-28
43
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#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<N一1;i++)
for(j=i+1;j<N;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),
{10 00 4,"FangFang",90,82,8 7),
{10001,"MaChao",91,92,7 7}},
ss[N];
int i,j;FILE*fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),5,fp);
fclose(fp);
printf f"\n\nThe original data
:\n\n");
for(j=0;j<N;j++)
{printf("\nNo:%id Name:%一8s
Scores."t[j].sno,t[j].name);
for(i=0;i<3;i++)
printf ("% 6,2f", 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) ;
{ printf ("\nNo: %ld Name: % -8s
Scores: ",ss[j] .sno, ss[j] .name);
printf ("00 6.2f ", ss [j].
score
);
printf ("\n") ;
}
}
选项
答案
(1)"rb" (2)> (3)fwrite
解析
填空1:题目中要求从形参filename所指的文件中读入学生的数据,以此可以看出本空应该填写”rb”。
填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。
填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。
转载请注明原文地址:https://kaotiyun.com/show/GJxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
结构化分析方法是面向______进行分析的方法。
以下程序输出的结果是#include#includemain(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k
已知函数fread.的调用形式为fread(buffer,size,count,fp);,其中buffer代表的是()。
有以下程序#include<stdio.h>main(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)c[s[i]+
线性表若采用链式存储结构时,要求内存中可用存储单元的地址()
若x为int类型,请写出与!x等价的C语言表达式______。
以下程序的输出结果是【】。main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);}
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
以下程序的功能是进行位运算main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是
在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_____。
随机试题
IwrotedownthenumbersothatI________rememberit.
患儿,男,2岁。以怕陌生人、不爱讲话就诊。查体:头发稀疏,色黄,皮肤发白,目光呆滞,表情木然,认知能力差,神经反射弱,体液及尿液均有较强的鼠臭气味。病史:家族中无类似患者,父母均健康,非近亲婚配,母亲孕期无异常。患儿出生时正常,无窒息,无癫痫发生。检验:血
呼吸衰竭最主要的临床表现是
急性阑尾炎的临床鉴别诊断应除外的疾病是
施工预算一般由()和()两大部分组成。
用友软件中,关于记账的说法正确的有()。
甲公司是一家在境内、外上市的综合性国际能源公司。该公司在致力于内涵式发展的同时,也高度重视企业并购以实现跨越式发展。以下是该公司近年来的一些并购资料:(1)2011年9月30日,甲公司与其母公司乙集团签订协议。以100000万元购入乙集团下属全资子公司
甲企业11月份销售商品收入为1000万元,其他业务收入30万元,发生销售退回15万元、现金折扣20万元、销售折让25万元。该企业11月份的营业收入为()万元。
Theworldwillbeadullplaceindeedwhenallthedifferentnationalitiesbehaveexactlyalike,andsomepeoplemightsaythat
AnnouncementTheswimmingpoolofShanghaiUniversitywillbeopentothepubliconJuly10ththisyear.Time:8:00a.
最新回复
(
0
)