C程序设计实验指导书 - 2014版

实验七 指针

选做题

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 struct st { int x; 运行结果为: int *y; } *p;

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 void main( ) { int i;

/*结构体类型struct worker 的定义,其成员有姓名、基本工资、补贴和实发工资*/

struct worker s[5]={{―li‖,2000,120},{―ma‖,2020,45},

48

联系客服:779662525#qq.com(#替换为@)