网站大量收购独家精品文档,联系QQ:2885784924

实验八数组、指针和函数综合编程练习.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验八数组、指针和函数综合编程练习

实验八 数组、指针和函数综合编程练习 打印最高分和学号 假设每班人数最多不超过40人,具体人数由键盘输入,试编程打印最高分及其学号。 程序1:用一维数组和指针变量作函数参数,编程打印某班一门课成绩的最高分和学号。 程序2:用二维数组和指针变量作函数参数,编程打印3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。 程序3:用指向二维数组第0行第0列元素的指针作函数参数,编写一个能计算任意m行n列的二维数组中的最大值,并指出其所在的行列下标值的函数,利用该函数计算3个班学生(假设每班4个学生)的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。 程序4:编写一个能计算任意m行n列的二维数组中的最大值,并指出其所在的行列下标值的函数,利用该函数和动态内存分配方法,计算任意m个班、每班n个学生的某门课成绩的最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。 初学者通常都会对指针望而生畏,其实只要从原理上掌握了指针的概念,它就会变得如此简单而易用。首先,指针不过是C语言提供的一种比较特殊的数据类型而已,定义为指针类型的变量与其它类型的变量相比,主要差别在于指针变量的值是一个内存地址。其次,在C语言中,指针和数组之间有着密不可分的关系,不带下标的数组名就是一个指针,它代表数组元素的首地址,只要让声明为相同基类型的指针变量指向数组元素的首地址,那么对数组元素的引用,既可以用下标法,也可以用指针法,用指针法存取数组比用数组下标存取数组速度快一些。反之,任何指针变量也可以取下标,可以像对待数组一样来使用。虽然多维数组的地址概念稍微麻烦些,但只要知道它的元素在内存中是如何存放的,使用也就不难了,由于C语言中的多维数组都是按列存放的,因此,用指针法引用时,必须知道数组的一行有多长(即列的维数)。在某种意义上,二维数组类似于一个由指向行数组的指针构成的一维指针数组。多于二维的数组可以通过类似方法进行降维处理。 指针的一个重要应用是用指针作函数参数,为函数提供修改调用变元的手段。当指针作函数参数使用时,需要将函数外的某个变量的地址传给函数相应的指针变元,这时,函数内的代码可以通过指针变元改变函数外的这个变量的值。 指针的另一个重要应用是动态内存分配函数,使得定义动态数组成为可能。二维数组指针作函数参数指向二维数组列指针作函数参数实验八 数组、指针和函数综合编程练习 程序1: #include stdio.h #define ARR_SIZE 40 int FindMax(int score[], long num[], int n, long *pMaxNum); main() { int score[ARR_SIZE], maxScore, n, i; long num[ARR_SIZE], maxNum; printf(Please enter total number:); scanf(%d, n); /*从键盘输入学生人数n*/ printf(Please enter the number and score:\n); for(i=0; in; i++) /*分别以长整型和整型格式输入学生的学号和成绩*/ { scanf(%ld%d, num[i], score[i]); } maxScore = FindMax(score, num, n, maxNum); /*计算最高分及其学号*/ printf(maxScore = %d, maxNum = %ld\n, maxScore, maxNum); } /* 函数功能:计算最高分及最高分学生的学号 函数参数:整型数组score,存储学生的成绩 长整型数组num,存储学生的学号 长整型指针变量pMaxNum,存储求出来的最高分学生的学号 函数返回值:最高分 */ int FindMax(int score[], long num[], int n, long *pMaxNum) { int i; int maxScore; maxScore = score[0]; *pMaxNum = num[0]; /*假设score[0]为最高分*/ for (i=1; in; i++) if (score[i] maxScore) { maxScore = score[i]; /*记录最高分*/ *pMaxNum

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档