实验三 分支程序设计(2学时)
实验目的:
1.熟练掌握if、switch语句的使用 2.掌握分支程序的设计方法 3.能用分支语句解决实际问题
实验题目:
1.有一函数:
y=
写一程序,输入x值,输出y值。
2.输入一学生分数,判断此分数为哪一等。设等级如下: 100 —— 80:A 79 —— 70:B 69 —— 60:C 59 —— 0:D 其他:输入错误。
3.输入某年某月某日,判断这一天是这一年的第几天。
5
实验四 函数实验(2学时)
实验目的:
1.熟练掌握函数的应用; 2.掌握实际问题功能的划分; 3.熟练掌握函数的设计方法; 4.掌握函数接口的设计;
实验内容:
1.编写函数,求两个直角边对应的斜边长度。
2.编写函数,求两个正整数的最小公倍数和最大公约数,并输出。 3.按下面要求编写程序:
1)定义函数 total(n)计算1+2+3+....+n;
2)定义函数,输入正整数n,计算并输出下列算式的值。
要求调用函数 total(n) 计算1+2+3+....+n。
4.编写一个函数求1k + 2k + 3k + ... + nk的值,假设k为4,n为6。6
实验五 指针实验(2学时)
实验目的:
1.熟练掌握指针的应用;
2.能用指针解决实际问题,总结指针与数组的不同; 3.熟练掌握指针使用的技巧及方法; 4.掌握不同类型指针的处理方法;
实验内容:
1.编程实现:任意输入的10个数,求其平均值。
要求:
1) 10个数采用scanf语句读入;
2) 利用指针实现对这10个数的访问; 3) 要求平均值的精度为小数后面2位。
2.编程实现:输入三个整数,按由大到小的顺序输出。
要求:
1) 通过scanf函数输入三个数据并存入三个变量中; 2) 利用指针实现从大到小输出;
3) 修改程序,将三个整型数据改为字符型数据,输入三个字符,按从大到小数顺序输出;
4) 修改程序,将三个字符型数据改为字符串数据,输入三个字符串,按从小到大顺序输出;
5) 体会指针对不同数据处理的特点。
3.编写函数newcopy(char *new,char *old),它的功能是删除old所指向的字符串中的小写字母,并将所得到的新串存入new中。
要求:
1) 在主函数中以初始化方式输入一个字符串; 2) 调用newcopy()函数;
3) 在主函数中输出处理后的结果。
4.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。
要求:
1) 整数数组由初始化方式输入。任意整数由scanf函数输入; 2) 实现过程采用指针处理;
3) 输出原始数组数据以及插入数据后的数组数据并加以相应说明。
7
实验六 Linux常见数据结构实验(2学时)
实验目的:
1.掌握链表的生成方法; 2.能够构造出一个二叉树;
3.能对构造的二叉树进行常见操作;
实验内容:
1.编程实现:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点内容输出;
2.调试验证课本138页“构建顺序二叉树”程序,并先序遍历该二叉树;
8
实验七 文件读写实验(2学时)
实验目的:
1.熟练掌握文件的打开、关闭方法;
2.熟练掌握文件的基本操作,能针对不同的使用,采用不同方式打开文件; 3.掌握文件中数据的读出、查找以及插入; 4.熟练掌握文件指针的作用;
实验内容:
1.编程实现:调用fopen函数,打开当前目录下的“a.c”文件(如果没有该文件,可以自己创建一个),若成功,在屏幕上显示“file open successfully…”,若失败,在屏幕上显示“can not open the file…”
2.有5个学生,每个学生有三门课成绩,从键盘键入以上数据(包括学生号、姓名、3门课成绩),并存放在磁盘文件“stud”中。
3.将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入到一个新文件“stud_sort”中。
9