首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2019-03-06
42
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
nclude
#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);
felose(fp);
for(i=0;i
for(j=i+1;j
if(s
.sno___2___s[j].sno)
{
t=s
;s
=8[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,“NaChao”,91,92,77}},ss[N];
int i,j;FILE*fp;
fp=fopen(“student.dat”,“wb”);
fwrite(t,sizeof(STU),5,fp);
felose(fp);
prinff(“\nThe original data:\n”);
for(j=0;j
{
prinff(“\nNo:%ld 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”);
prinff(“\nThe data after sorting:\n”);
fp=fopen(“student.dat”,”rb”);
fread(ss,sizeof(STU),5,fp);
fclose(fp);
for(j=0;j
{
prinff(“\nNo:%ld Name;%一8s
Scores:“,ss[j].sno,ssrj].name);
for(i=0;i<3;i++)
prinff(“%6.2f”,8s[j].score
);
printf(“\n”);
}
}
选项
答案
(1)“r” (2)> (3)fwrite
解析
填空1:题目中要求从形参fiename所指的文件中读入学生的数据,以此可以看出本空应该填写“r”。
填空2:此处的if语句是比较学号的大小,如果学号大就和学号小的换位,以此本空填写>。
填空3:题目要求所有的学生数据均以二进制方式输出到文件中,因此本空填写fwrite。
转载请注明原文地址:https://jikaoti.com/ti/ukf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
执行程序时的输入为123456789,则程序的运行结果为_____________。#include“stdio.h”main(){inta,b;scanf(“%2d%*2d%1d”,&a,&b);
有如下程序:main(){intx=23;do{printf("%d",x--);}while(!x);}程序运行后的输出结果是()。
若有说明“chars1[30]="abc",s2[]="defghi";”,则在使用函数stcat(s1,s2)后,结果是()。
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。
下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。(注:程序采用了冒泡排序算法)#include<stdio.h>#include<string.h>main(){char*str="ABCDabcd
若有如下程序:floatsub(inta,intb){return(a*b);}main(){inti=1,j=2,k=3;printf("%4.0f\n",sub((int)sub(k+j,j),
下列程序的输出结果是______。longfun5(intn)(longs;if((n==l)‖(n==2))s=2;
以下选项中可作为C语言合法常量的是
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
随机试题
大柴胡汤组成中无
正常骨髓象,幼红细胞约占有核细胞的
仲裁案件当事人甲公司与乙公司在案件仲裁过程中通过协商,就已经提交仲裁的争议达成和解协议。随后申请人甲公司撤回了仲裁申请。后甲公司反悔,此时甲乙两公司的纠纷应如何解决?
某案,正在服刑的被告人向人民法院提起申诉,人民法院审查材料后发现申诉人很可能根本不构成犯罪,于是做出了提起再审的裁定。那么同时还可做什么处理?()
某市甲建筑股份有限公司(增值税小规模纳税人)2012年12月份发生如下业务:(1)自建商品房5000平方米,每平方米建造工程成本2000元,2009年建房时采取预收款方式售出2000平方米,每平方米售价3000元,取得预收款200万元。本月交付房产并
()是建筑的首要目的。
人们在评论超前消费时常用“寅吃卯粮”的比喻,其中“寅”是指()。
①退居二线,摆脱了繁忙的事务,可没过几天______日子,他又闲不住了。②在充分利用原有水利设施的同时,还自力更生______新水源,采取人力、畜力换班,机器不停的办法,昼夜抗旱灌水。③______发展得这样快,我们只有努力学习,加倍工作,
汉字国标GB2312—1980把汉字分成()。
Thetalkswillbeabout______.
最新回复
(
0
)