欢迎来到天天文库
浏览记录
ID:41552781
大小:324.51 KB
页数:40页
时间:2019-08-27
《函数(2数组作参数、变量的作用域和存储类别)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.3数组作为函数参数1、数组元素作函数实参定义函数时形参为简单变量,调用函数时实参为数组元素名。数组元素作函数实参,与用变量作实参一样,是“单向值传递”,即将数组元素的值传给对应的形式参数,形式参数值的改变不会影响到对应的实参数组元素。例1:有两个数组a、b,各有5个元素,将它们对应地逐个相比(即a[0]与b[0]比,a[1]与b[1]比……)。如果a数组中的元素大于b数组中的相应元素的数目多余b数组中元素大于a数组中相应元素的数目(例如,a[i]>b[i]3次,b[i]>a[i]1次,其中每次为不同的值),则认
2、为a数组大于b数组,并分别统计出两个数组相应元素大于、等于、小于的次数。#includeintlarge(intx,inty);intmain(void){inta[5]={1,3,5,7,9},b[5]={5,3,8,9,-1},i,n=0,m=0,k=0;for(i=0;i<5;i++){if(large(a[i],b[i])==1){n=n+1;}elseif(large(a[i],b[i])==0){m=m+1;}else{k=k+1;}}printf(“a[i]>b[i]%dtimes
3、na[i]=b[i]%dtimesa[i]k){printf(“arrayaislargerthanarrayb”);}elseif(ny){flag=1;}elseif(x4、e{flag=0;}return(flag);}2、数组名作函数参数数组名作参数,此时实参与形参都应用数组名。函数调用时是将实参数组的地址传给对应的形参数组,此时实参数组与形参数组为同一地址单元,因此,函数中在形参数组上所作的所有操作均是在对应实参数组上完成的。数组名作函数参数是数组作函数参数最常见的形式!例1:用选择排序法对数组中5个整数按由小到大排序。所谓选择排序法就是先将5个数中最小的数与a[0]对换;再将a[1]a[4]中最小的数与a[1]对换……每比较一轮,找出一个未经排序的数中最小的一个。共比较4轮。思5、路:a[0]a[1]a[2]a[3]a[4]36194未排序时的情况16394第一轮13694第二轮13496第三轮13469第四轮#includevoidsort(intb[],intn);intmain(void){inta[5]={3,6,1,9,4};inti;sort(a,5);printf(“thesortedarray:”);for(i=0;i<5;i++){printf(“%d”,a[i]);}return0;}361943619436194a[0]a[1]a[2]a[3]a[6、4]b[0]b[1]b[2]b[3]b[4]voidsort(intb[],intn){inti,j,k,t;for(i=0;i<=n-2;i++){k=i;for(j=i+1;j<=n-1;j++){if(b[j]#definemaxNums100floatAver(intn,ints[maxNums]);intmain(void){inti7、,n=0,scores[maxNums];floatavgScore;printf("Pleaseinputscores(-1toexit):");for(i=0;i8、;floatav=0;for(i=0;i#includevoidinverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str);i
4、e{flag=0;}return(flag);}2、数组名作函数参数数组名作参数,此时实参与形参都应用数组名。函数调用时是将实参数组的地址传给对应的形参数组,此时实参数组与形参数组为同一地址单元,因此,函数中在形参数组上所作的所有操作均是在对应实参数组上完成的。数组名作函数参数是数组作函数参数最常见的形式!例1:用选择排序法对数组中5个整数按由小到大排序。所谓选择排序法就是先将5个数中最小的数与a[0]对换;再将a[1]a[4]中最小的数与a[1]对换……每比较一轮,找出一个未经排序的数中最小的一个。共比较4轮。思
5、路:a[0]a[1]a[2]a[3]a[4]36194未排序时的情况16394第一轮13694第二轮13496第三轮13469第四轮#includevoidsort(intb[],intn);intmain(void){inta[5]={3,6,1,9,4};inti;sort(a,5);printf(“thesortedarray:”);for(i=0;i<5;i++){printf(“%d”,a[i]);}return0;}361943619436194a[0]a[1]a[2]a[3]a[
6、4]b[0]b[1]b[2]b[3]b[4]voidsort(intb[],intn){inti,j,k,t;for(i=0;i<=n-2;i++){k=i;for(j=i+1;j<=n-1;j++){if(b[j]#definemaxNums100floatAver(intn,ints[maxNums]);intmain(void){inti
7、,n=0,scores[maxNums];floatavgScore;printf("Pleaseinputscores(-1toexit):");for(i=0;i8、;floatav=0;for(i=0;i#includevoidinverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str);i
8、;floatav=0;for(i=0;i#includevoidinverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str);i
此文档下载收益归作者所有