实验讲义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八结构体与共用体
一、实验目的要求
1.掌握结构体类型变量的定义和使用;
2.掌握结构体类型数组的概念和应用;
3.掌握链表的概念,初步学会对链表进行操作;
4.掌握共用体的概念与使用;
二、实验内容
编程序,然后上机调试运行。
1.对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人
的名字,要求最后输出各人得票结果。
2.编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数
据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。
3.建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,
如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。(选作)
4.指向结构体变量的指针。
5.指向结构体数组的指针的应用。
三、思考题
耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。
四、实验报告要求
1.程序清单
2.调试结果
3.实验小结
实验七指针(二)
一、实验目的要求
1.学会使用字符串的指针和指向字符串的指针变量;
2.学会使用指向函数的指针变量;
3.了解指向指针的指针的概念及其使用方法。
二、实验内容
编程序并上机调试运行程序(都要求用指针处理)
1.调用函数测字符串的长度。
2.在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好的字符串。(要求用指针数组处理)
3.写一个函数实现两个字符串的比较。
4.用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输出。(选作)
三、思考题
有一个字符串,包括n个字符。写一个函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串。要求在主函数输入字符串及m值并输出复制结果。实验四、实验报告要求
1.程序清单
2.调试结果
3.实验小结
实验六指针(一)
一、实验目的要求
1.掌握指针的概念,会定义和使用指针变量;
2.学会使用数组的指针和指向数组的指针变量。
二、实验内容
编程序并上机调试运行程序(都要求用指针处理)
1.输入a和b两个实数,按先小后大的顺序输出a和b。
2.输入a和b两个实数,要求用函数实现a和b值互换。
3.将数组中n个整数排序。
4.写一函数,将一个3×3矩阵转置。
三、思考题
编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排列,然后将这两个数组合并成一个升序数组。
四、实验报告要求
1.算法
2.程序清单
3.调试结果
4.实验小结
实验五 函数
一、实验目的要求
1.掌握定义函数的方法;
2.掌握函数实参与形参的对应关系,以及“值传递”的方式;
3.掌握函数的嵌套调用和递归调用的方法;
4.掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。
二、实验内容
编程序,然后上机调试运行。
1.求方程ax 2 +bx+c=0的根,用3个函数分别求当b 2 -4ac 大于零,等于零和小于零时的根,并输出结果,从主函数输入a,b,c 的值。
2.编写一个函数,使给定的一个二维数组(3×3)转置。
3.用递归方法求n!,递归公式为 1
)1(1,01{!>-==n n n n n 用一个函数fac 来描述该递归过程,用一个主函数调用fac 函数求n!。
三、思考题
写一个函数,输入一个十六进制数,输出相应的十进制数。
四、实验报告要求
1.算法
2.程序清单
3.调试结果
4.实验小结
实验四数组
一、实验目的要求
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;
2.掌握字符数组和字符串函数的使用;
3.掌握与数组有关的算法(特别是排序算法)。
二、实验内容
编程序,然后上机调试运行。
1.用筛选法求100之内的素数。
2.用选择法对10个整数排序。
3.打印出以下的杨辉三焦形(要求打印出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
::::::
4.有一行电文,已按下面规律译成密码:
A→Z a→z
B→Y b→y
C→X c→x
: :
即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并打印出密码和原
文。
三、思考题
随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
四、实验报告要求
1.算法
2.程序清单
3.调试结果
4.实验小结
实验三 循环控制
一、实验目的要求
1.熟悉用while 语句,d o -while 语句和for 语句实现循环的方法。
2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
3.了解使用break,continue 的差别。
二、实验内容
1.分别用语句语句语句
while do while goto if ......{计算∑=50
1n n 。 2.求S n =a+aa+aaa+…+a aa a
n ...个之值,其中a 是一个数字。例如:2+22+222+2222+22222(此时n=5),n 由键盘输入。
010
3.输出指定图象 01110
0111110
011111110
4.求100~200之间不能被7整除的数。
三、思考题
编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
四、实验报告要求
1.算法
2.程序清单
3.调试结果
4.实验小结