第一范文网 - 专业文章范例文档资料分享平台

高级程序(C程序)设计课内实验指导书

来源:用户分享 时间:2025/7/1 4:43:27 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1、将n个学生信息建立一个动态链表进行管理,每个学生的数据包括学号、1门课程的成绩。 要求:

(1)编写creat函数创建链表,链表结点按学号由小到大的顺序链接,如图1所示。

head num score next 5 89 7 85 ??

10 90 NULL

图1 有序链表

(2)编写printlist函数显示创建的链表各节点信息

(3)编写del函数删除结点:输入一个学号,如果链表中的结点所包含的学号等于此学号,则将此结点删去,如果是空表或没有学号与输入学号相等的结点,则给出相应的提示信息。 (4)编写insert函数将一个结点插入到链表中的合适位置,使插入后的链表仍有序。 (5)编写main函数: 调用creat函数创建链表;

调用printlist函数显示链表结点信息;

输入一个待删除的学号,调用del函数删除链表中结点的学号信息与待删除学号相等的结点; 生成一个新结点,调用insert函数将新结点插入到链表中。

实验九 位运算 【目的和要求】

1. 掌握按位运算的概念和方法,学会使用位运算符; 2. 学会通过位运算实现对某些位的操作。 【重点和难点】 重点:位运算符的使用。 难点:对位段的操作。 【实验内容】

1.阅读下列程序,说明下列程序的功能。 #include int func(char x) {

13

}

int i, mask = 1, total = 0; for (i=1; i<=8; i++) { }

return total;

if ((x & mask) == mask)

total++;

mask = mask <<1;

int main() { }

2.编程序并上机调试。

(1) 编写一程序,请编一个函数实现逻辑右移。

(2) 设计一个函数,使给出一个数的原码,能得到该数的补码。

实验十 文件 【目的和要求】

1. 掌握文件以及缓冲文件系统、文件指针的概念;

2. 学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。 【重点和难点】

重点:使用函数打开、关闭、读、写文件。 难点:使用函数打开、关闭、读、写文件 【实验内容】 编程序并上机调试。

1. 把从键盘输入的字符(用 # 作为文件结束标志)写到一个名为second.txt的磁盘文件中。

char input='A';

printf(\

14

2. 有n个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。 3. 将上题stud文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入一个新文件stu_sort中。 进阶题:

1.已知多组产品销售记录,要求对每组销售记录进行排序,排序规则如下: (1)产品代码按ASCII码从小到大排序; 销售记录字段说明:

字段名称 产品代码 产品名称 单价 数量 金额 输入:

销售记录存在文件A_in.dat中。

包含多组数据,每组数据格式为:第1行代表销售记录数,第2行开始为销售记录,字段之间以空格分隔。多组数据在文件中顺序存放,组之间以换行分隔。 输出:

输出结果存放于文件A.out.dat中,其数据格式为:第1行代表销售记录数,第2行开始为排序后的销售记录,字段之间以逗号分隔。多组结果数据在文件中顺序耻放,组之间以换行分隔。 输入示例: 4

P106 Power 600 70 42000 M001 machine 500 70 35000 M105 machine 400 40 16000 M001 machine 500 20 10000 2

P106 Power 600 70 42000

类型 字符型 字符型 整型 整型 整型 长度 4 10 15

M001 machine 500 70 35000 输出示例: 4

M001, machine, 500 ,70 ,35000 M001, machine ,500 ,20 ,10000 M105, machine, 400 ,40 ,16000 P106, Power, 600, 70 ,42000 2

M001, machine ,500, 70, 35000 P106, Power ,600 ,70 ,42000 提示:

#define MAXSIZE 2000 //定义销售记录类型

typedef struct onesaletype{ char p_code[5]; char p_name[11]; int price; int quantity;

int amount;

}Saletype;

//定义一组销售记录类型 typedef struct saletype{ int num; //记录数

Saletype s[MAXSIZE]; //记录

}Salestype;

//读入一组销售记录

void readdata(FILE *fp,Salestype *product) {

int i,n;

16

高级程序(C程序)设计课内实验指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c183o757gyq0088s3wpq6_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top