已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lab7: 指针姓名学号班级说明: 1. 本次实验内容分两次上机完成;2. 完成以下实验内容后,将本文档改名为“学号_姓名_班级_Lab7.doc”;3. 在15周上机课时提交。实验内容和实验要求(实验指导P148)1.练习题一运行结果截图:2.练习题二运行结果截图:思考题及问题: 答案:不能因为函数中需要用指针来改变主函数中的变量值,如果使用二维数组或行指针则只能返还最大值,无法改变主调函数中的变量值。 案:函数文本(修改部分红色字体标注)#include #include int FindMax(int *p, int m, int n, int *pRow, int *pCol); void main() int *pScore, i, j, m, n, maxScore, row, col; printf(Please enter array size m,n:); scanf(%d,%d, &m, &n); pScore = (int *) calloc(m*n, sizeof (int); if (pScore = NULL) printf(No enough memory!n); exit(0); printf(Please enter the score:n); for (i = 0; im; i+) for (j = 0; jn; j+) scanf(%d, &pScore i*n+j); maxScore = FindMax(pScore, 3, 4, &row, &col); printf(maxScore = %d, class = %d, number = %dn, maxScore, row+1, col+1); free(pScore); int FindMax(int *p, int m, int n, int *pRow, int *pCol) int i, j, max; max = p0; *pRow = 0; *pCol = 0; for (i = 0; im; i+) for (j = 0; j max) max = pi*n+j; *pRow=i; *pCol=j; return (max); 运行结果截图:3.练习题三运行结果截图:思考题及问题: 答案:系统会报错,程序无法运行 案:试编写strcmp函数,源程序文本:#include int strcmp(char *s1, char *s2)int ret ,i=0;if(!s1|!s2)return s1-s2;while(1)ret=s1i-s2i;if(ret|!s1i)return ret;i+;void main()char a10, b10;gets(a);gets(b);printf(%dn, strcmp(a, b);运行结果截图:4.练习题四运行结果截图:思考题及问题: 答案:不可以因为只有当while语句满足的条件成立时s的值才加1,更改后,无论条件成不成立,s的值都加1,所以不能改。 案:源程序文本(修改部分红色字体标注)#include void findfirst(char *s, char d) while(*s) if(*s=d) *s=*; s+; int main() char string=Oh! day after day.; printf(%sn,string); findfirst(string,d); printf(%sn,string);运行结果截图:5.练习题五运行结果截图:思考题及问题: 案:源程序文本(修改部分红色字体标注)#include double cube(double);double cubee(double);double cubeee(double);double sum(int,double(*p)(double);void main()double(*ptr)(double);int i;printf(请输入编号: );scanf(%d,&i);if(i=0)ptr=cube;elseif(i=1) ptr=cubee;elseif(i=2) ptr=cubeee;printf(sum=%.2lfn,sum(4,ptr);double sum(int n,double(*p)(double)double s=0;int k;for (k=1;k=n;k+)s+=(*p)(1.0/k);return s;double cube(double x) return(x*x*x);double cubee(double x) return(x*x);double cubeee(double x) return(1/x);运行结果截图:6.练习题六运行结果截图:思考题及问题: 案:源程序文本(修改部分红色字体标注)#include #include void main()float *pa,*pb,*pc,a,b,c;if(pa=(float*)malloc(sizeof(float)scanf(%f,pa);elseprintf(malloc for pa is failed!n);if (pb=(float*)malloc(sizeof(float)scanf(%f,pb);elseprintf(malloc for pb is failed!n);if (pc=(float*)malloc(sizeof(float)scanf(%f,pc);elseprintf(malloc for pc is failed!n);if(*pa*pb)a=*pb;elsea=*pa;if(a*pc)a=*pc;if(*pa*pb)b=*pa;elseb=*pb;if(b*pa&*paa)c=*pa;elseif(b*pb&*pba)c=*pb;elsec=*pc;printf(%.2f %.2f %.2fn,a,c,b);运行结果截图: 案:源程序文本(修改部分红色字体标注)#include#includevoid main() float *p,*head,temp; int n,i,j; printf(请输入要排序的整数的个数:n); scanf(%d,&n);head=(float *)calloc(n,2); printf(请输入%d个待排序的整数:n,n); for(p=head;phead+n;p+) scanf(%f,p); for(j=0;jn-1;j+) for(i=0;i*(head+i+1) temp=*(head+i); *(head+i)=*(head+i+1); *(head+i+1)=temp; for(p=head;phead+n;p+) printf(%.2f ,*p);printf(n);运行结果截图:自测练习1.自测练习一源程序文本:#include#includemain() int a4=3,11,8,22; long s=1; int *p=a; for(int i=0;i4;i+) s = s*(*(p+i); printf(各元素之积为%ldn,s);运行结果截图:2.自测练习二源程序文本:#include #include void input(float a34)int i,j;for(i=0;i3;i+)for (j=0;j4;j+)scanf(%f,&aij);void div(float a34,float max_number3)int i,j;for (i=0;i3;i+)for(j=0;j4;j+)aij/=max_numberi;void output(float a34)int i,j;for (i=0;i3;i+)for (j=0;j4;j+)printf(%.2ft,aij);printf(n);void output1(float a34)int i,j;for (i=0;i3;i+)for (j=0;j4;j+)printf(%.2ft,aij);printf(n);void main()float a34;int i,j;float max_number3;printf(输入3*4数组n);input(a);for (i=0;i3;i+)for(j=0;j4;j+)if (max_numberiaij)max_numberi = aij;div(a,max_number);output(a);system(pause);运行结果截图:3.自测练习三源程序文本:#include #include void main()char str80=9,8,7,6,5,4,3,2,1,*p,*q,t; for(p=str,q=p+strlen(str)-1;pq;p+,q-)t=*p;*p=*q;*q=t;printf(逆序输出的字符串 %sn,str);运行结果截图:4.自测练习四源程序文本:运行结果截图:5.自测练习五修改后的源程序文本(修改部分红色字体标注):#include float matrix(float a33,int n)int i,j;float sum=0;for (i=0;i3;i+)for (j=0;j3;j+)if(i=j)su
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中八年级道德与法治教学设计:营造清朗网络空间的公民实践
- 初中生物七年级发生在肺内的气体交换教学设计
- 高三生物一轮复习第六讲 水跨膜运输原理教学设计
- 雨课堂学堂在线学堂云《财务管理(西南民族大学)》单元测试考核答案
- 河北省邯郸市七年级道德与法治下册 第三单元 在集体中成长 第七课 共奏和谐乐章 第2框 节奏与旋律教案 新人教版
- 人教版9总复习教案设计
- 人教部编版(2024)八年级下册我一生中的重要抉择教学设计
- 小学语文人教部编版(五四制)一年级下册课文310端午粽一等奖教学设计
- 山西省长治市八年级地理下册 8.2 干旱的宝地-塔里木盆地教案1 (新版)新人教版
- 基于深度学习的实时动作识别用于健身指导与可穿戴设备心率数据融合实现运动强度个性化建议可行性分析
- 高校新生入党启蒙教育专题课件(含文字稿)
- 国企临建和隧道工程现场施工标准化作业图集课件
- 人类的飞天梦课件
- DZ/T 0222-2006地质灾害防治工程监理规范
- 团体标准解读及临床应用-成人经鼻高流量湿化氧疗技术规范2025
- 成都文理就业协议书
- 惠尔顿网络安全审计系统使用手册V0
- 10千伏环网柜(箱)标准化设计方案 (2023 版)
- 《国际资本流动理论》课件
- 《贴片工艺培训》课件
- 康熙字典-繁体字笔画五行1-30
评论
0/150
提交评论