首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blan1.C。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filena
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blan1.C。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filena
admin
2020-06-02
47
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blan1.C。此程序定义了学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.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},{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<N;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<N;j++)
{ printf("\nNo:%ld Name:%-8 s 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
解析
填空1:题目中要求从形参filename所指的文件中读入学生的数据,以此可以看出本空应该填写”rb”。
填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。
填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。
转载请注明原文地址:https://kaotiyun.com/show/YqCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:inta=1,b=2,c=3;以下语句中执行效果与其他3个不同的是()。
有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p:p=q:q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序的运行结果是()
有以下程序段:#include<stdio.h>intj;floaty;charname[50];seanf("%2d%f%s",&j,&y,name);当执行上述程序段时,从键盘上输入555667777abc后,y的值为()。
有如下程序段:intx=12;doubley=3.141593;printf("%d%8.6f",x,y);其输出结果是()。
若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是()。
若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。
有以下程序voidfun(inta[],intn){inti,t;for(i=0;i
以下能正确定义一维数组的选项是
有以下程序intfun(intx[],intn)main(){staticintsum=0,i;{inta[]={1,2,3,4,5),b[]={6,7,8,9),s=
随机试题
《HSE作业指导书》是用来指导生产岗位人员正确操作、规避()的程序文件。
在虚证的治疗中,重视脾胃,长于甘温补中的医家是( )在虚证的治疗中,重视肝肾,善用滋阴降火的医家是( )
选择性蛋白尿与非选择性蛋白尿的根本区别在于
损害尿道,产生结晶尿和血尿的药物是
根据《水电建设工程质量管理暂行办法》(电水农[1997]220号),监理单位对工程建设实施过程中设计与施工质量负()。
公司反收购战略中,()不属于保持公司控制权策略。
旅游投诉处理机构处理旅游投诉,应当立案办理,填写《旅游投诉立案表》,并附有关投诉材料,在受理投诉之日起()内,将《旅游投诉受理通知书》和投诉书副本送达被投诉人。
能认识到自己的缺点是不容易的,能改正自己的缺点更不容易。请结合自身经历举例说明。
根据鲁利亚的观点,由边缘系统与脑干网状结构等组成的机能系统是
Millionsofhamburgersareeatenbypeopleineverycorneroftheworldeveryday.TogetherwithhotdogsandCoca-Cola,hamburg
最新回复
(
0
)