《C语言》课内实验报告.doc
《《C语言》课内实验报告.doc》由会员分享,可在线阅读,更多相关《《C语言》课内实验报告.doc(14页珍藏版)》请在三一办公上搜索。
1、C语言课内实验报告学生姓名:及 学 号:学 院:理学院班 级:数学111课程名称:C语言实验题目:结构体的应用指导教师姓名及职称: 2012年06月05日一、实验题目:结构体的应用二、实验目的:1进一步掌握结构体变量、数组的定义和使用方法,掌握结构体与指针的应用。2学习共用体的概念和使用。3学习链表的概念和使用。三、实验内容:1有6个学生,每个学生的数据包括学号、姓名、性别、4门课的成绩、总成绩、平均成绩。从键盘输入每个学生信息及4门课成绩,总成绩及平均成绩要通过4门课算出。然后用选择排序法按照总成绩由高到低对6个学生数据进行排序并输出排序结果。要求输入、排序、输出用3个自定义函数实现。编写源
2、程序,给出注释及运行结果。(提示,请参阅教材上292页例11.5及例11.6的程序)。2建立一个含有10个结点的单链表,每个节点包括:学号、姓名、性别、年龄和一门课程的成绩。输入一个学号,删去等于此学号的结点;按学号排序向原单链表中插入两个新结点。编写源程序,给出注释及运行结果。(提示,请参阅教材上297页至308页例11.8-例11.11的程序)。四、实验结果:1.程序如下:#include /*连接库函数stdio.h*/struct student /*声明结构体类型struct student,并定义此结构体类型的数组stu6*/int s_no; /*定义整形变量s_no于结构体类型
3、struct student中*/char s_name10; /*定义字符数组s_name于结构体类型struct student中*/char s_sex; /*定义字符形变量s_sex于结构体类型struct student中*/float s_score4; /*定义浮点形数组s_score于结构体类型struct student中*/float sum; /*定义浮点形变量sum于结构体类型struct student中*/float average; /*定义浮点形变量average于结构体类型struct student中*/stu6;struct student *input(
4、struct student *stu,int n) /*定义函数input(struct student *stu,int n),此函数返回指向struct student类型数据的指针*/struct student *p; /*定义指向struct student类型数据的指针p*/int i; /*定义整型变量i*/p=stu; /* p=stu*/printf(please input the infomation of student:nn); /*输出” please input the infomation of student”*/printf( no name sex sc
5、ore1 score2 score3 score4n); /*输出”no name sex score1 score2 score3 score4”*/for(i=0;in;i+,p+) /*i=0;当is_no,p-s_name,&p-s_sex,&p-s_score0,&p-s_score1,&p-s_score2,&p-s_score3); /*输入struct student所需的数据,储存在p指向的变量的地址*/return(&stu0); /*函数返回&stu0的值*/void output(struct student *p,int n) /*定义空型函数output(struc
6、t student *p,int n)*/int i; /*定义整型变量i*/printf(nnthe information of the students is:nn); /*输出”the information of the students is:”*/printf(no name sex score1 score2 score3 score4 sum averagen); /*输出no name sex score1 score2 score3 score4 sum average”*/ for(i=0;in;i+) /*i=0;当is_no,pi-s_name,pi-s_sex,p
7、i-s_score0,pi-s_score1,pi-s_score2,pi-s_score3,pi-sum,pi-average); /*输出pi所指向变量的各个数据*/void count(struct student *stu,int n) /*定义空型函数count(struct student *stu,int n)*/struct student *p; /*定义指向struct student类型变量的指针p*/int i; /*定义整型变量i*/p=stu; /* p=stu*/for(i=0;in;i+,p+) /*i=0;当isum=p-s_score0+p-s_score1
8、+p-s_score2+p-s_score3; /*计算p-sum的值*/p-average=p-sum/4; /* p-average=p-sum/4*/ void sorted(struct student *stu,struct student *p,int n) /*定义空型函数sorted(struct student *stu,struct student *p,int n)*/int i,j,k; /*定义整型变量i,j,k*/struct student *temp; /*定义指向struct student类型变量的指针temp*/ for(i=0;in-1;i+) /*i=
9、0;当in-1时,执行循环,i自加*/k=i; /* k=i*/for(j=i+1;jn;j+) /*j=i+1;当isumsum) /*如果pk-sumsum*/k=j; /* k=j*/if(k!=i) /*如果k!=i*/temp=pi; /* temp=pi; pi=pk; pk=temp;*/ pi=pk;pk=temp;void main() /*空型定义主函数*/int i; /*定义整型变量i*/struct student *p6; /*定义指向struct student类型变量的指针数组p*/for(i=0;i6;i+) /*i=0;当i6时,执行循环,i自加*/pi=s
10、tu+i; /* pi=stu+i*/input(stu,6); /*执行函数input(stu,6)*/count(stu,6); /*执行函数count(stu,6)*/sorted(stu,p,6); /*执行函数sorted(stu,p,6)*/output(p,6); /*执行函数output(p,6)*/程序运行结果如下:2.程序如下:#include /*连接库函数stdio.h*/ #include/*连接库函数malloc.h*/#define LEN sizeof(struct student) /*定义符号常量LEN,为sizeof(struct student)*/st
11、ruct student /*声明结构体类型struct student*/int no; /*定义整形变量no于结构体类型struct student中*/char name20; /*定义字符数组name20 于结构体类型struct student中*/char sex5; /*定义字符数组sex5 于结构体类型struct student中*/int age; /*定义整形变量age于结构体类型struct student中*/float score; /*定义浮点型变量score于结构体类型struct student中*/struct student *next; /*定义指向结构
12、体变量struct student的指针变量next于结构体类型struct student中*/;int n=0; /*定义全局整型变量n=0*/struct student *creat(void) /*定义函数student *creat(void),此函数返回指向struct student类型数据的指针*/struct student *p1,*p2,*head; /*定义指向struct student类型变量的指针p1,p1,head*/int k=1; /*定义整型变量k=1*/head=NULL; /* head=NULL ;n=0*/n=0;p1=p2=(struct st
13、udent *)malloc(LEN); /*开辟LEN大小的空间令p1,p2指向空间的首地址*/if(p1!=NULL) /*如果p1!=NULL*/printf(%sn,请输入学生信息); /*输出“请输入学生信息”*/printf(%sn,学号 姓名 性别 年龄 成绩); /*输出“学号 姓名 性别 年龄 成绩”*/ scanf(%d%s%s%d%f,&p1-no,p1-name,p1-sex,&p1-age,&p1-score);/*输入struct student所需的数据,储存在p1指向的变量的地址*/while(k!=2) /*当k!=2时,执行循环*/n=n+1; /* n=n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 语言 实验 报告
链接地址:https://www.31ppt.com/p-2385114.html