C语言实验报告标准格式

更新时间:2023-10-10 11:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

暨南大学本科实验报告专用纸

课程名称 高级语言程序设计 成绩评定 实验项目名称 结构体和共用体 指导教师 张晓刚 实验项目编号 8060151108 实验项目类型 综合性 实验地点 C301 学生姓名 苟长弘 学号 2007051282 学院 信息科学技术 系 计算机科学 专业 软件工程 实验时间 2007 年6月12 日 下午~6月13 日 下午 温度 ℃湿度 (一) 实验目的

1.

2. 3. 4.

掌握结构体类型变量的定义和使用。 掌握结构体类型数组的概念和应用。

掌握链表的概念,初步学会对链表进行操作。 掌握共用体的概念与使用。

(二) 实验内容和要求

实验内容1::试编写一个程序完成:有5个学生,每个学生的数据包括学号、姓名、3门课

的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。

实验要求:(1)要求用一个input函数输入5个学生数据;应一个average函数求平均分;

用max函数求出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。

(2)输入事先已编好的程序,并运行该程序。分析运行结果是否正确。

实验内容2::试编写一个程序完成:建立一个链表,每个结点包括:学号、姓名、性别、年

龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。

实验要求:(1)用链表实现。

(2)输入事先已编好的程序,并运行该程序。分析运行结果是否正确。

(三) 主要仪器设备

仪器:计算机

实验环境: Windows XP + Visual C++6.0

暨南大学本科实验报告专用纸(附页)

(四) 实验原理

实验1的N-S图如下:

实验2的N-S图如下: creat函数:

print函数:

暨南大学本科实验报告专用纸(附页)

del函数:

主函数:

(五) 源程序

实验1的源程序如下: #include struct student { int number; char name[10]; int classes[3]; int average; }stu[5];

void input(struct student *p) {

暨南大学本科实验报告专用纸(附页)

int i; for(i=0;i<5;i++,p++) { printf(\ scanf(\es[2]); } }

average(struct student *p) { int m=0; m=p->classes[0]+p->classes[1]+p->classes[2]; m=m/3; p->average=m; return(m); }

struct student *max(struct student *p,int j) { int i,n; struct student *q; for(i=0;i<5;i++,p++) if(p->classes[j]>=n) { n=p->classes[j]; q=p; } return(q); }

void main() { int i,m[5]; struct student *p; input(stu); p=stu; for(i=0;i<5;i++,p++) { m[i]=average(&stu[i]); printf(\ } for(i=0;i<3;i++)

暨南大学本科实验报告专用纸(附页)

{ p=max(stu,i); printf(\classes%d's max score is:%d %s %d %d %d %d\\n\>average); } }

实验2的源程序如下: #include #include #define NULL 0

#define LEN sizeof(struct student) struct student { char num[10]; char name[10]; char sex; int age;

struct student *next; } ; int n;

struct student *creat(void) { struct student *head; struct student *p1,*p2; n=0;

p1=p2=(struct student *)malloc(LEN); scanf(\ head=NULL;

while(p1->age!=0) { n=n+1; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=(struct student *)malloc(LEN);

scanf(\ }

p2->next=NULL;

本文来源:https://www.bwwdw.com/article/zb0f.html

Top