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
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
相关推荐: