"历年二级C语言上机考试题库及答案.doc-建立班级通讯录的程序填空题"
需积分: 0 110 浏览量
更新于2023-12-31
1
收藏 336KB DOC 举报
历年全国计算机等级考试-二级C语言上机考试题库及答案.doc中提供了一个关于建立班级通讯录的题目。题目要求从键盘输入班级的人数和每位学生的信息,然后将这些信息写入一个名为myfile5.dat的二进制文件中。
解题思路如下:
1. 首先,我们需要定义一个结构体来表示学生的信息。该结构体包含两个成员:编号和姓名。可以使用如下的定义:
```c
typedef struct
{
int id;
char name[20];
} Student;
```
2. 接下来,我们需要实现一个函数fun,它的功能是将输入的学生信息写入myfile5.dat文件中。函数的输入参数包括一个指向Student结构体数组的指针和班级人数。函数的返回值是一个int类型的值,表示是否成功将信息写入文件中。可以使用如下的函数定义:
```c
int fun(Student *students, int num)
{
FILE *fp;
int i;
// 打开myfile5.dat文件
if ((fp = fopen("myfile5.dat", "wb")) == NULL)
{
printf("无法打开文件!\n");
return 0;
}
// 将学生信息写入文件
for (i = 0; i < num; i++)
{
if (fwrite(&students[i], sizeof(Student), 1, fp) != 1)
{
printf("写入文件失败!\n");
fclose(fp);
return 0;
}
}
// 关闭文件
fclose(fp);
return 1;
}
```
3. 在给定的程序中,需要在下划线处填入正确的函数声明,才能使程序能够调用fun函数并正确地完成建立班级通讯录的功能。根据fun函数的定义,正确的函数声明应该是:
```c
int fun(Student *, int);
```
4. 最后,为了保证fun函数能够被正确调用,在程序的开头还需要声明check函数。根据题目描述,check函数可能是一个空函数,我们可以将其定义为:
```c
void check()
{
// 空函数,不执行任何操作
}
```
综上所述,根据题目要求,我们需要将上述的定义和实现添加到给定的BLANK1.c文件中,然后删除下划线部分,并确保源程序文件名为BLANK1.c,最后将BLANK1.c文件编译运行,就能得到正确的结果。
2021-10-06 上传
2023-10-22 上传
2023-08-05 上传
2024-07-04 上传
2024-09-01 上传
2024-10-30 上传
2023-08-12 上传
智慧安全方案
- 粉丝: 3836
- 资源: 59万+
最新资源
- 电子功用-平板电脑防近视装置及方法
- Python
- Nexus2021:NEXUS RND Aarohan2021
- grunt-isomorphic:从你的 js 源代码创建 amd、cjs、es6 和老派模块的 Grunt 插件
- 微信小程序-仿微信
- Firebase演示
- MonumentValley:纪念碑谷 WebGL版
- newton-faq:有关与Apple Newton平台有关的常见问题的社区资源
- marionette.bubble:[未维护] 从底层视图冒泡事件的布局和区域
- matlab-runner
- 电子功用-导电膜及其制备方法、阵列基板
- Natural-Scenery-Prediction-using-CNN:我建立的模型可以帮助我们对不同的自然风光图像进行分类,例如街道,山脉,冰川等。我使用了卷积神经网络来建立该模型并对图像进行分类
- Burger-Site-Bootstrap:我的投资组合的Bootstrap餐厅网站
- battleship-online:pygame和套接字制作的在线战舰游戏
- outdent-command:从 DOM 中删除最近的 BLOCKQUOTE 元素的命令实现
- CIDM_4382_Assignment1