首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2018-03-28
55
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数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全国计算机二级
相关试题推荐
若有以下程序main(){inta[4][4]={{1,2;-3,-4},{0,-12,-13,14},{21,23,0,-24},{-31,32,-33;0}};inti,j,s=0;
若有以下类型说明语句:charw;intx;floaty,Z;则表达式w*x+z-y的结果为_______类型。
若a是float型变量,b是unsigned型变量,以下输入语句合法的是()
以下程序的输出结果是【】。#defineMAX(x,y)(x)>(y)?(x):(y)main(){inta=5,b=2;c=3,d=3,t;t+MAX(a+,b,c+D)*10;
设已执行预编译命令#include,以下程序段的输出结果是chars[]="anapple";printf("%d\n",strlen(s));
若x为int类型,请写出与!x等价的C语言表达式______。
以下程序的输出结果是______。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i
以下程序的功能是进行位运算main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是
有以下定义语句doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是
在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_____。
随机试题
因为概念a和b具有真包含关系,所以,b和a也就具有真包含于关系,这一推理是()
根据理论联系实际的教学原则,怎样培养学生运用知识于实际的能力?
下列哪项是该案例最合适的诊断下列哪项是本例确诊的必要条件
根据《证券法》的规定,证券交易所是为证券集中交易提供场所和设施,组织和监督证券交易,实行自律管理的法人,其主要职责有()。
企业所得税的纳税人享受企业所得税免税待遇的,在免税期间无需办理纳税申报。( )
严重心理问题的最主要的诊断要点是()
成就动机水平高的人倾向于归因于()。
设总体X的概率密度为其中θ>-1是未知参数,X1,X2,…,Xn是来自总体X的一个容量为n的简单随机样本,分别用矩估计法和极大似然估计法求θ的估计量。
Lookatthenotesbelow.Someinformationismissing.Youwillhearawomantalkingabouttwonewproducts.Foreachquestion9-
Thepondwas__________________(一到夏季就干桔,给我们带来了极大的不便).
最新回复
(
0
)