实验10 指针2 (修复地).doc

实验10 指针2 (修复地).doc

ID:56525111

大小:423.00 KB

页数:28页

时间:2020-06-27

实验10  指针2 (修复地).doc_第1页
实验10  指针2 (修复地).doc_第2页
实验10  指针2 (修复地).doc_第3页
实验10  指针2 (修复地).doc_第4页
实验10  指针2 (修复地).doc_第5页
资源描述:

《实验10 指针2 (修复地).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《C语言程序设计》实验报告实验时间:6月7号实验班级:计算机双学位1501实验报告总份(片)数:1份(片)实验教师:饶东宁计算机学院工一实验室工业大学《C语言程序设计》实验报告实验题目:实验10实验时间:6月7号实验班级:双学位1501实验人学号:3213010359实验人:梁雪卿实验教师:饶东宁计算机学院工一实验室工业大学实验10指针21实验目的(1)进一步掌握指针的应用(2)能正确使用数组的指针和指向数组的指针变量(3)能正确使用字符串的指针和指向字符串的指针变量(4)了解指向指针的指针的用法2实验容根据题目要求,编写程序(要求用指针处理),运行程序,分析结果,并进行必要的讨论分析。(1)

2、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的人。输入人数n算法说明:指针指向数组开头fori=0toi=n-1当mintmain(){inti,k,m,n,num[50],*p;scanf("n=%d",&n);p=num;for(i=0;i

3、f(*(p+1)!=0)k++;if(k==3){*(p+i)=0;k=0;m++;}i++;if(i==n)i=0;}while(*p==0)p++;printf("ThelastoneisNO.%d",*p);return0;}运行结果:分析与思考:以1到n为序给每个人编号,i为每次循环时计数变量,k为按1,2,3报数时的计数变量,m为退出人数,当退出人数比n-1少时执行循环体,对推村恩编号为0,报数到尾i恢复为0,循环继续。(1)将一个5*5的矩阵(二维数组)中最大元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用

4、。算法说明:定义a[5][5],*p,I,jfori=0toi=4forj=0toj=4输入a[i][j]p=&a[0][0]调用函数change(p)forj=0toj=4fori=0toi=4输出a[i][j]change(int*p)定义i,j,temp,*pmax,*pminpmax=ppmin=pfori=0toi=4forj=itoj=4temp=*(p+12)*(p+12)=*pmax*pmax=temptemp=*p*p=*pmin*pmin=temppmin=p+1fori=0toi=4/真*pmax<*(p+5*i+j)假pmax=p+5*i+j真*pmin>*(p+5*i

5、+j)假pmin=p+5*i+jforj=0toj=4continue真i==0&&j==0假真*pmin>*(p+5*i+j)假pmin=p+5*i+jtemp=*pmin*pmin=*(p+4)*(p+4)=temppmin=p+1fori=0toi=4forj=0toj=4真(i==0&&j==0)

6、

7、(i==0&&j==4)假temp=*pmin*pmin=*(p+20)*(p+20)=temppmin=p+1pmin=p+5*i+j真*pmin>*(p+5*i+j)假continuefori=0toi=4forj=0toj=4continue真(i==0&&j==0)

8、

9、(i==0&

10、&j==4)

11、

12、(i==4&&j==0)假真*pmin>*(p+5*i+j)假temp=*pmin*pmin=*(p+24)*(p+24)=temppmin=p+5*i+j程序清单:#includeintmain(){voidchange(int*p);inta[5][5],i,j,*q;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);q=&a[0][0];change(q);for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d",a[i][j]);printf("");}retu

13、rn0;}voidchange(int*p){inti,j,temp;int*pmax,*pmin;pmax=p;pmin=p;for(i=0;i<5;i++){for(j=0;j<5;j++){if(*pmax<*(p+i*5+j))pmax=p+i*5+j;if(*pmin>*(p+5*i+j))pmin=p+i*5+j;}}temp=*(p+12);*(p+12)=*pmax;*pmax=t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。