




免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台联邦学习隐私保护在智慧交通领域的应用研究报告
- 2025年科技创新券资金申请政策解读与科技企业数字化转型报告
- 教师招聘之《小学教师招聘》能力提升题库及参考答案详解ab卷
- 教师招聘之《小学教师招聘》能力提升题库附答案详解【考试直接用】
- 教师招聘之《幼儿教师招聘》考前冲刺测试卷附答案详解【培优】
- 教师招聘之《小学教师招聘》试题(得分题)含完整答案详解【名师系列】
- 2025年广东专业技术人员继续教育新质生产力与高质量发展试题及答案
- 基于2025年游戏直播打赏用户的激励模式创新与效果评估报告
- 教师招聘之《幼儿教师招聘》题库(得分题)打印及完整答案详解
- 2025年教师招聘之《幼儿教师招聘》检测卷附参考答案详解【突破训练】
- 体育原理课件
- 分子泵培训教材课件
- 经济法律关系课件
- etap学习帮助-chapter17保护视图star
- 广东广州市番禺区教育局招考聘用公办中小学临聘教师17人(必考题)模拟卷
- 华泰证券营业网点装修标准五种类型汇总效果图设计方案
- 工程回访及客户满意度表最新文档
- (高职)企业财务会计电子课件完整版PPT全书电子教案
- T∕CHAS 10-4-13-2020 中国医院质量安全管理 第4-13部分:医疗管理住院患者健康教育
- VTE的预防与治疗(课堂PPT)
- 第五章 新型化学纤维
评论
0/150
提交评论