金陵科技学院实验报告
实验4 构造类型程序设计
一、实验目的和要求
(1)熟悉结构体和共同体的概念;
(2))熟悉并掌握结构体变量、数组和共同体变量的定义、赋值与使用; (3)掌握结构体指针的定义与引用;
(4)掌握链表的概念,初步学会对链表进行操作;
(5)熟悉文件打开、关闭、写入、读出的方法;学会使用文件操作函数。
二、实验仪器和设备
奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。
三、实验内容与过程
1、程序调试 (1) struct aa
{int x,*y;}*p;
int a[8]={10,20,30,40,50,60,70,80};
struct aa b[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]}; main() {p=b;
printf(″%d″,*++p->y); printf(″%d\n″,++(p->x)); } (2) struc STU
{ char name[10]; int num; };
void f1(struct STU c)
{ struct STU b={“LiSiGuo”,2042}; c=b; }
void f2(struct STU *c)
{ struct STU b={“SunDan”,2044}; *c=b; } main( )
{ struct STU a={“YangSan”,2041},b={“WangYin”,2043}; f1(a) ;f2(&b) ;
printf(“%d %d\\n”,a.num,b.num); } 2、程序设计
19
金陵科技学院实验报告
说明,所有题目均需添加main(),在main()中调用子函数并设计完整的输入输出才可调试通过。
(1)(2)两题的学生记录由学号和成绩组成,结构体类型定义如下:
typedef struct { char num[10]; double s;
} STREC; (1)功能:a所指向的数组中有N名学生的数据,请编写函数double fun(STREC *a,STREC *b),把a数组中分数最高的学生数据放在b所指的数组中。分数最高的学生可能不止一个,函数返回分数最高的学生人数。
(2)功能:a所指的数组中有N名学生的数据,请编写函数double fun(STREC *a,STREC *b,int *n),把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
(3)从键盘输入一系列字符(以$作为输入结束标志),将其存入文件file1.txt中,再从该文件中查找某个字符(该字符可以输入),如果查找成功将返回成功标志,否则返回不成功标志。
3、讨论、思考题
功能:N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写子函数double fun(STREC *h),找出学生的最高分,由函数值返回。
注意:链表的节点类型定义如下: struct slist { double s;
struct slist *next; };
typedef struct slist STREC;
程序清单及流程图:
20
金陵科技学院实验报告
四、实验结果与分析(程序运行结果及其分析)
五、实验体会(遇到问题及解决办法,编程后的心得体会)
21
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新经管营销C语言实验册-2014.3 (5)全文阅读和word下载服务。
相关推荐: