欢迎来到天天文库
浏览记录
ID:17455682
大小:182.05 KB
页数:7页
时间:2018-09-01
《华中科技大学标准c语言程序设计上机试题、答案及报告格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《标准C语言程序设计》上机报告实验七指针及函数结构体初步程序设计专业:班级:学号:姓名:完成日期:1一、实验目的1.进一步理解指针的概念,掌握指针变量间接地址访问的本质;2.掌握利用指向数组的指针变量表示一维数组元素及元素地址的方法;3.掌握利用指向二维数组的行指针变量表示二维数组元素及其地址的方法;4.掌握字符串的指针和指向字符串的指针变量;5.掌握指针数组和二级指针;6.熟悉通过动态内存分配实现动态数组,并体会指针在其中的作用。7.理解函数定义、原型和调用,掌握函数参数的传递(传值、传指针和传引用)二、实验内容及要求(鼓励一题多解)1.深入理解《上机实践训练教程》2
2、.6实验六案例示范和有关概念文字描述中的知识点,给出你的理解。定义指针时一定要给指针分配好应有的类型和内存空间,防止出现野指针,造成程序不能运行甚至系统崩溃。数组名不能作为左值,它实际上是一个常量指针,不能通过str=“comrade”给字符数组str赋值。2.输入每个学生的姓名和线性代数、通信原理和C语言课程成绩,统计每人的平均值,并按平均值降序排列,输出排列后的名次、姓名、课程名(成绩)和平均值。(注:平均值相同者按姓名的字母表顺序排列)(要求用结构体数据类型实现)#include#include#include
3、#defineN3structstudent{intrank;charname[20];doublescore[3];doubleaver;};voidinput(structstudent*p,intn);voidsort(structstudent*p,intn);doubleaverage(structstudent*p,intn);voidoutput(structstudent*p,intn,doubleaver);voidmain(){structstudentstu[N];doubleaver;input(stu,N);sort(stu,N);aver=a
4、verage(stu,N);output(stu,N,aver);}voidinput(structstudent*p,intn){inti,j;doublea;charstr[20];for(i=0;iname);printf("请依次输入学生线性代数、通信原理、c语言分数:");for(a=0,j=0;j<3;j++){gets(str);p->score[j]=atof(str);a+=p->score[j];}p->aver=a/3;}return;}voidsort(stru
5、ctstudent*p,intn){structstudenttemp;inti,j;for(i=0;i6、doubleaver){inti;printf("姓名线性代数通信原理c语言平均分");printf("-----------------------------------------");for(i=0;i7、个元素,定义二级指针pp指向pnum入口元素,排序代码只运行使用pp指针)………指向指针的指针就是二级指针int**pp;#include#defineN5voidmain(){intnum[N],*pnum[N],**pp,i,j,temp;printf("请输入数组中的元素:");for(i=0;i
6、doubleaver){inti;printf("姓名线性代数通信原理c语言平均分");printf("-----------------------------------------");for(i=0;i7、个元素,定义二级指针pp指向pnum入口元素,排序代码只运行使用pp指针)………指向指针的指针就是二级指针int**pp;#include#defineN5voidmain(){intnum[N],*pnum[N],**pp,i,j,temp;printf("请输入数组中的元素:");for(i=0;i
7、个元素,定义二级指针pp指向pnum入口元素,排序代码只运行使用pp指针)………指向指针的指针就是二级指针int**pp;#include#defineN5voidmain(){intnum[N],*pnum[N],**pp,i,j,temp;printf("请输入数组中的元素:");for(i=0;i
此文档下载收益归作者所有