欢迎来到天天文库
浏览记录
ID:11671464
大小:153.50 KB
页数:10页
时间:2018-07-13
《c语言学习--实验五 指针与函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验项目编号 05实验项目名称指针与函数实验学时 2学时实验时间 2016.11.5实验地点 教一503指导老师周宏生实验五指针与函数一、实验目的1.掌握指向函数的指针定义;2.理解指向函数的指针变量调用函数的方法和本质;3.掌握返回指针值的函数的定义;4.理解指针函数的本质和调用方法。二、实验内容及要求1、编程实现利用指向函数的指针首先求学生的平均成绩。具体要求如下:(1)定义一个等级枚举类型{A、B、C、D、E};定义一个成绩共用体类型{分数或等级};创建一个结构体数据类型{学号、性别、英语成绩、数学成绩
2、、语文成绩},其中英语成绩为等级。(2)编写一个求平均值的函数,实现求某个学生平均成绩的功能。(等级成绩按照A:90,B:80,C:70,D:60,E:0计算。)(3)用指向函数的指针作为函数参数进行调用。(4)成绩的初始化可以在main函数中实现。(知识点:构造数据类型,函数调用,指向函数的指针)2、编程实现利用返回指针值的函数(指针函数)实现求学生的平均成绩和最高成绩。具体要求如下:(1)定义一个等级枚举类型{A、B、C、D、E};定义一个成绩共用体类型{分数或等级};创建一个结构体数据类型{学号、性别、
3、英语成绩、数学成绩、语文成绩},其中英语成绩为等级。(2)编写一个求平均值的函数,实现求某个学生平均成绩的功能。(等级成绩按照A:90,B:80,C:70,D:60,E:0计算。)(3)编写一个求最高成绩的函数,实现求某个学生所有成绩中最高成绩的那门课。(等级成绩按照A:90,B:80,C:70,D:60,E:0计算。)(4)使用指针函数实现该功能。(5)成绩的初始化在main函数中实现。(知识点:构造数据类型,函数调用,指向函数的指针)三、代码如下#include#include4、oc.h>intN=3;//初始化学生人数是三个enumgrade{A,B,C,D,E};unionstudent{floatshuzi;enumgradeziscore;};structstudentInfo{intnum;charsex[20];unionstudentChinese,Math,English;};voidmenu(){printf("-----------------------------------------------------");printf("(A)创建学生信息"5、);printf("(B)输出学生信息以及成绩");printf("(C)输出某个学生的平均成绩(指向函数的指针)");printf("(D)输出最大值(返回指针的函数)");printf("(E)输出某个学生的平均成绩(返回指针的函数)");printf("-----------------------------------------------------");}studentInfo*init(){structstudentInfo*std;std=(studentInfo*)m6、alloc(N*sizeof(studentInfo));returnstd;}voidcreatStudent(structstudentInfo*std){charch;printf("请输入学生学号,性别,语文,数学,英语成绩:");for(inti=0;i7、English.ziscore=A;break;case'B':std[i].English.ziscore=B;break;case'C':std[i].English.ziscore=C;break;case'D':std[i].English.ziscore=D;break;case'E':std[i].English.ziscore=E;break;}}}float*Max(structstudentInfo*std){float*max;floatenglish;max=(float*)malloc8、(N*sizeof(float));for(inti=0;i
4、oc.h>intN=3;//初始化学生人数是三个enumgrade{A,B,C,D,E};unionstudent{floatshuzi;enumgradeziscore;};structstudentInfo{intnum;charsex[20];unionstudentChinese,Math,English;};voidmenu(){printf("-----------------------------------------------------");printf("(A)创建学生信息"
5、);printf("(B)输出学生信息以及成绩");printf("(C)输出某个学生的平均成绩(指向函数的指针)");printf("(D)输出最大值(返回指针的函数)");printf("(E)输出某个学生的平均成绩(返回指针的函数)");printf("-----------------------------------------------------");}studentInfo*init(){structstudentInfo*std;std=(studentInfo*)m
6、alloc(N*sizeof(studentInfo));returnstd;}voidcreatStudent(structstudentInfo*std){charch;printf("请输入学生学号,性别,语文,数学,英语成绩:");for(inti=0;i7、English.ziscore=A;break;case'B':std[i].English.ziscore=B;break;case'C':std[i].English.ziscore=C;break;case'D':std[i].English.ziscore=D;break;case'E':std[i].English.ziscore=E;break;}}}float*Max(structstudentInfo*std){float*max;floatenglish;max=(float*)malloc8、(N*sizeof(float));for(inti=0;i
7、English.ziscore=A;break;case'B':std[i].English.ziscore=B;break;case'C':std[i].English.ziscore=C;break;case'D':std[i].English.ziscore=D;break;case'E':std[i].English.ziscore=E;break;}}}float*Max(structstudentInfo*std){float*max;floatenglish;max=(float*)malloc
8、(N*sizeof(float));for(inti=0;i
此文档下载收益归作者所有