资源描述:
《C语言实验报告标准格式.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、暨南大学本科实验报告专用纸课程名称高级语言程序设计成绩评定实验项目名称结构体和共用体指导教师张晓刚实验项目编号实验项目类型综合性实验地点C301学生姓名苟长弘学号学院信息科学技术系计算机科学专业软件工程实验时间2007年6月12日下午~6月13日下午温度℃湿度(一)实验目的1.掌握结构体类型变量的定义和使用。2.掌握结构体类型数组的概念和应用。3.掌握链表的概念,初步学会对链表进行操作。4.掌握共用体的概念与使用。(二)实验内容和要求实验内容1::试编写一个程序完成:有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求输出3门课总平均成绩,
2、以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。实验要求:(1)要求用一个input函数输入5个学生数据;应一个average函数求平均分;用max函数求出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。(2)输入事先已编好的程序,并运行该程序。分析运行结果是否正确。实验内容2::试编写一个程序完成:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。实验要求:(1)用链表实现。(2)输入事先已编好的程序,并运行该程序。分析运行结果是否正确。(三)主要仪器设备仪器:计算机实
3、验环境:WindowsXP+VisualC++6.0暨南大学本科实验报告专用纸(附页)(一)实验原理实验1的N-S图如下:实验2的N-S图如下:creat函数:print函数:暨南大学本科实验报告专用纸(附页)del函数:主函数:(一)源程序实验1的源程序如下:#includestructstudent{intnumber;charname[10];intclasses[3];intaverage;}stu[5];voidinput(structstudent*p){暨南大学本科实验报告专用纸(附页)inti;for(i=0;i<5;i++,p++){p
4、rintf("Pleaseinput%dthstudent'sdata:",i+1);scanf("%d%s%d%d%d",&p->number,p->name,&p->classes[0],&p->classes[1],&p->classes[2]);}}average(structstudent*p){intm=0;m=p->classes[0]+p->classes[1]+p->classes[2];m=m/3;p->average=m;return(m);}structstudent*max(structstudent*p,intj){inti,n;structs
5、tudent*q;for(i=0;i<5;i++,p++)if(p->classes[j]>=n){n=p->classes[j];q=p;}return(q);}voidmain(){inti,m[5];structstudent*p;input(stu);p=stu;for(i=0;i<5;i++,p++){m[i]=average(&stu[i]);printf("The%s'saveragescoreis:%d",p->name,m[i]);}for(i=0;i<3;i++)暨南大学本科实验报告专用纸(附页){p=max(stu,i);printf("Thec
6、lasses%d'smaxscoreis:%d%s%d%d%d%d",i+1,p->number,p->name,p->classes[0],p->classes[1],p->classes[2],p->average);}}实验2的源程序如下:#include#include#defineNULL0#defineLENsizeof(structstudent)structstudent{charnum[10];charname[10];charsex;intage;structstudent*next;};intn;struct
7、student*creat(void){structstudent*head;structstudent*p1,*p2;n=0;p1=p2=(structstudent*)malloc(LEN);scanf("%s%s%c%d",p1->num,p1->name,&p1->sex,&p1->age);head=NULL;while(p1->age!=0){n=n+1;if(n==1)head=p1;elsep2->next=p1;p2=p1;p1=(structstudent*)malloc(LEN);scanf("%s%s%