华中科技大学标准C语言程序设计上机试题、答案及报告格式_第1页
华中科技大学标准C语言程序设计上机试题、答案及报告格式_第2页
华中科技大学标准C语言程序设计上机试题、答案及报告格式_第3页
华中科技大学标准C语言程序设计上机试题、答案及报告格式_第4页
华中科技大学标准C语言程序设计上机试题、答案及报告格式_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、标准C语言程序设计上机报告 实验七指针及函数结构体初步程序设计 专业: 班级: 学号: 姓名: 完成日期: 1 实验目的 1. 进一步理解指针的概念,掌握指针变量间接地址访问的本质; 2. 掌握利用指向数组的指针变量表示一维数组元素及元素地址的方法; 3. 掌握利用指向二维数组的行指针变量表示二维数组元素及其地址的方法; 4. 掌握字符串的指针和指向字符串的指针变量; 5. 掌握指针数组和二级指针; 6. 熟悉通过动态内存分配实现动态数组,并体会指针在其中的作用。 7. 理解函数定义、原型和调用,掌握函数参数的传递(传值、传指针和传引用) 实验内容及要求(鼓励一题多解) 1. 深入理解上机实践

2、训练教程2.6实验六案例示范和有关概念 文字描述中 的知识点,给出你的理解。 防止岀现野指针, 造成程序不 定义指针时一定要给指针分配好应有的类型和内存空间, 能运行甚至系统崩溃。 str= “ comrade ”给字符数 数组名不能作为左值,它实际上是一个常量指针,不能通过 组str赋值。 2. 输入每个学生的姓名和线性代数、通信原理和 C语言课程成绩,统计每人的 平均值,并按平均值降序排列,输出排列后的名次、姓名、课程名(成绩) 和平均值。(注:平均值相同者按姓名的字母表顺序排列)(要求用结构体数 据类型实现) #include #include #include #define N 3

3、struct student int rank; char name20; double score3; double aver; ; void inpu t(struct student *p ,int n); void sort(struct student *p ,int n); double average (struct student *p ,int n); void out put(struct student *p ,int n,double aver); void main() struct student stuN; double aver; inp ut(stu,N);

4、sort(stu,N); aver=average(stu,N); out put(stu,N,aver); void inpu t(struct student *p ,int n) int i,j; double a; char str20; for(i=0;ivn;i+,p+) printf(请输入考生姓名:n); gets (p- name); printf(请依次输入学生线性代数、通信原理、c语言分数:n); for(a=0,j=0;jv3;j+) gets(str); p-scorej=atof(str); a+=p-scorej; p-aver=a/3; return; void

5、 sort(struct student *p ,int n) struct student temp; int i,j; for(i=0;ivn-1;i+) for(j=0;jn-1-i;j+) if(p j.aver vp j+1.aver) temp=p j; pj=Pj+1; p j+1=te mp; double average(struct student *p ,int n) int i; double temp; for(i=0,te mp=0;ivn;i+) temp=temp+p i.aver; return tem p/n; void out put(struct stu

6、dent *p ,int n,double aver) int i; 线性代数通信原理c语言平均分n); n); printf(姓名 printf( for(i=0;ivn;i+) p rintf(%-10s%8.2lf%8.2lf%8.2lf%8.2lfn, ,p i.score0, pi.score1, pi.score2, p i.aver); 运行结果: P: Wte戡的獣言上机V+五周上型二332Pe bugVi.ene- 用 bB 请織人学生姓名, iTack i青依挨输人学生线性代敢、通信原理、讥吾言分数; E #include #define N 5 void

7、main() int numN,* pnumN,* pp ,i,j,te mp; printf(请输入数组中的元素:n); for(i=0;iN;i+) scanf(%d, for(i=0;iN;i+) pnu mi= pp=pnum; for(i=0;i* (PP +j+1) temp=* (PP +j); *( PP +j)=*( PP +j+1); *( PP +j+1)=te mp; printf(按照从小到大的顺序排列为:n); for(i=0;iN;i+) p rintf(%dn,* (pp+i); 运行结果 请输A数组中酌元 -1S 132165 456 -787 按冃臥小到大的

8、顺序排列为: -7B7 -1S 0 45 return p; / p指针指向哪一类内存空间? void main(void) char *str = NULL; str = GetString(); cout str endl; 错误原因及你的理解: 修正方案1: 修正方案2 : 5. 编程求一个3X3矩阵转置(即行列互换)并输出矩阵中最大值及位置。(要求 用二维数组double num33 存储矩阵,用行指针变量dopuble (*p)3访 问二维数组) #include void main() double num33,(* p)3; int i,j,a,b; printf(请输入矩阵元素

9、:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%lf, p=num; for(i=0,a=0,b=0;iv3;i+) for(j=0;j P ab) a=i; b=j; printf(最大值为%lfn所在的位置为第 %d行第%d列,pab,a+1,b+1); printf(转置矩阵为:n); for(i=0;i3;i+) for(j=0;j3;j+) p rintf(%lft, pji); p rintf(n); 运行结果 情騎j矩芒冗家= 4 5 6 7 void main() int a,b,* p1,* p2; printf(请输入两个数:n); sc

10、anf(%d%d, p1= p 2= calculate (p1,p 2); printf(两数的平方和为 %dn两数的平方差为 %dn,*p1,*p2); void calculate(int *p sum,int *p sub) int m,n; m=*psum; n=*psub; *p sum=m*m+n*n; *psub=m*m-n*n; 运行结果: 上机中的感受、困惑及教学建议 对malloc free的用法还是不是很熟练,对多级指针的掌握有待加强。 出师表 两汉:诸葛亮 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。 然侍卫之臣 不懈于内,忠志之士忘身于外者,盖

11、追先帝之殊遇,欲报之于陛下也。诚宜开张圣听, 以光 先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。 宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其 刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。 侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚 以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。 将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰 能”是以众议举宠为督: 愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。 亲贤臣,远小人,此先汉所以兴隆也; 亲小人,远贤臣,此后汉所以倾颓也。 先帝在时, 每与臣论此事,未尝不叹息痛恨于桓、 灵也。侍中、尚书、长史、参军,此悉贞良死节之臣, 愿陛下亲之、信之,则汉室之隆,可计日而待也:b O 臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉 屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于 败军之际,奉命于危难之间,尔来二十有一年矣。 先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之 明;故五月渡泸,深入不毛。今南方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论