首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
admin
2020-05-14
56
问题
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
请在程序的中括号处填入正确的内容并把中括号删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include
#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
for(j=i+1;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(STH),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
{printf("\nNo:%id 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
{print~("\nNo:%id Name:%一8s
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/Gv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
为了使程序的输出的正确结果为:Nowis2004.7.1010:10:10.那么应在下列程序划线处填入的正确语句是()。那么应在下列程序划线处填入的正确语句是()。#include<iostream>
模板是实现代码重用机制的一种工具,其中使一个函数可以定义成对许多不同数据类型完成同一个任务的是指【】模板。
若有定义:int*p;则下列各选项中,不同于表达式“*p=*p+1;”的是()。
下列关于成员函数特征的描述中,错误的是()。
已知一个函数模板定义为template<typenameT1.typenaineT2>T1FUN(T2n){returnn*5.0;}若要求以int型数据7为函数实参调用该模板函数,并返回一个double型数据,则
按照“先进先出”的原则组织数据的结构的是______。
以下不使用线性结构表示实体之间联系的模型的是()。
若要访问指针变量p所指向的数据,应使用表达式______。
某二叉树中度为2的结点有18个,则该二叉树中有______个叶子结点。
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数
随机试题
A.设法促进肌张力和主动运动的出现B.降低痉挛,促进分离运动的恢复C.进一步降低肌痉挛,促进更多的分离运动恢复,改善运动速度、精细程度和耐力D.多种训练交替进行,有所侧重,在不引起异常反应和过度疲劳的情况下,逐渐加大活动量E.瘫痪恢复的次序是先躯干
传统是历史大潮冲击下的砥柱,但是它不应该是阻挡潮流的东西,而应有_________潮流走向的作用。传统在经受历史大潮淘洗的同时,也更新着自己。但是这种更新不是使自身_________,而是使其精髓愈益凝练,随着历史进展而持续地焕发活力。填入画横线部分最恰当
在填制报关单时,“贸易方式”栏目应填写:()。在填制报关单时,“经营单位”一栏应填写:()。
文汇阁事是沈阳故宫西路的主要建筑,专为收藏《四库全书》。()
布卢姆的认知领域教育目标分类的主要依据是()。
为发挥教师的主导作用,提高学生的运动技能水平,体育课堂教学中应注重()。
直接证据是指能够直接证明刑事案件主要事实的证据。间接证据是指不能单独地直接证明刑事案件主要事实,需要与其他证据相结合才能证明的证据。所谓刑事案件的主要事实,是指犯罪行为是否系犯罪嫌疑人、被告人所实施。根据上述定义,下列属于直接证据的是()。
再矿化
社会意识是社会存在的反映,表现在
[2002年](1)验证函数(-∞<x<+∞)满足微分方程y"+y’+y=ex;(2)利用(1)的结果求幂级数的和函数.
最新回复
(
0
)