实验七 指针
选做题
1.将一个3×3的矩阵转置,用一函数实现之。(习题10.9) 在主函数中用scanf函数输入以下矩阵元素: l 3 5 7 9 11 13 15 19
将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。
2.有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。(习题10.5)
3.用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入,最后在主函数中输出。(习题10.21) 4.用指针优化学生成绩排名
(1)定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现 (2)将数组stu[10]的内容输出到屏幕上,要求用指针实现 (3)将成绩数组按照从高到低进行排序,要求用指针实现
(4)将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单
(5) 采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)
知识点描述及编程体会
实验成绩 签名
年 月 日
47
实验八 结构体和文件操作
实验八 结构体和文件操作(4学时)
目的要求
(1)掌握结构体类型变量的定义和使用; (2)掌握结构体类型数组的概念和使用;
(3)掌握链表的概念,初步学会对链表进行操作; (4)掌握文件以及缓冲文件系统、文件指针的概念; (5)学会使用文件打开、关闭、读、写等文件操作函数; (6)学会用缓冲文件系统对文件进行简单的操作。
上机内容
一般示例
【例1】 上机运行程序,观察运行结果。 #include
int s[]={10,20,30,40};
struct st a[]={1,&s[0],2,&s[1],3,&s[2],4,&s[3]}; void main( ) {
p=a;
printf(―%d\\n‖,p->x); printf(―%d\\n‖,(++p)->x); printf(―%d\\n‖,*(++p)->y); printf(―%d\\n‖,++(*(++p)->y)); }
【例2】 试利用结构体类型编写程序,有5个职工的姓名、基本工资和补贴,计算每个职工
实发工资并输出。
#include
/*结构体类型struct worker 的定义,其成员有姓名、基本工资、补贴和实发工资*/
struct worker s[5]={{―li‖,2000,120},{―ma‖,2020,45},
48