收藏 分享(赏)

北科大C语言程序设计实验报告8.doc

上传人:精品资料 文档编号:7690194 上传时间:2019-05-23 格式:DOC 页数:21 大小:254KB
下载 相关 举报
北科大C语言程序设计实验报告8.doc_第1页
第1页 / 共21页
北科大C语言程序设计实验报告8.doc_第2页
第2页 / 共21页
北科大C语言程序设计实验报告8.doc_第3页
第3页 / 共21页
北科大C语言程序设计实验报告8.doc_第4页
第4页 / 共21页
北科大C语言程序设计实验报告8.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、Lab8: 指针姓名 徐松松学号 41345053 班级 计 1304说明: 1. 本次上机内容分两次上机完成。2. 将本文档改名为“学号_姓名_班级_Lab8.doc ”,按照本说明完成以下实验内容;3. 在 16 周周日前通过课程中心提交本文档。实验内容和实验要求(实验指导 P148)1.练习题一运行结果截图:2.练习题二纠错:int FindMax( int scoreSTU, int n, int m, int *pRow, int *pCol ) STU 改为 ARR_SIZE运行结果截图:Lab8: 指针思考题及问题: 答案:可以。只要修改参数为 int FindMax(int (

2、*score)ARR_SIZE,int n,int m,int *pRow,int *pCol)答案:函数文本(修改部分红色字体标注)#include#includevoid main()int i,j,m,n,max,row,col;printf(“Please enter row numbers:n“);scanf(“%d“,printf(“Please enter col numbers:n“);scanf(“%d“,Lab8: 指针int *p=(int*)malloc(m*n*sizeof(int);printf(“Please enter numbers:n“);for(i=0;i

3、max)max=*(p+i*n+j);row=i+1;col=j+1;printf(“max=%d,row=%d,col=%dn“,max,row,col);运行结果截图:Lab8: 指针3.练习题三运行结果截图:思考题及问题:答案:程序运行过程中会出现错误!答案:试编写 strcmp 函数,源程序文本:#includeint strcompare(char *,char *);void main()char *list1=“See no evil,hear no evil,“;char *list2=“blind and deaf?“;Lab8: 指针puts(list1);printf(“

4、n“);puts(list2);printf(“n“);int n=strcompare(list1,list2);if(n=1)printf(“list1list2n“);else if(n=0)printf(“list1=list2n“);else if(n=-1)printf(“list1*(s2+i)return 1;else return -1;else if(*(s1+i)=0else if(*(s1+i)=0)return -1;elsereturn 1;运行结果截图:Lab8: 指针4.练习题四运行结果截图:Lab8: 指针思考题及问题: 答案:可以。因为*s+等价于*s;s+

5、;所以 while(*s!=d)可以换成while(*s!=d)答案:源程序文本(修改部分红色字体标注)#include#define EMPTY 0char* findfirst(char*,char);void main()char string=“Oh! day after day.“;char *ptr;printf(“%sn“,string);ptr=EMPTY;ptr=findfirst(string,d);Lab8: 指针while(ptr!=EMPTY)*ptr=*;ptr=findfirst(ptr,d);printf(“%sn“,string);char* findfirs

6、t(char *s,char d)while(*s!=d)if(*s=d)return s;elsereturn EMPTY;运行结果截图:5.练习题五运行结果截图:Lab8: 指针思考题及问题:答案:源程序文本(修改部分红色字体标注)#includedouble cube1(double);double cube2(double);double cube3(double);double sum(int,double(*p)(double);void main()double (*ptr)(double);/ptr=cube;printf(“input 1 for sum x*x; 2 for

7、 sum x*x*x;3 for sum 1/x:n“);int n,x;scanf(“%d“,printf(“input x:n“);scanf(“%x“,if(n=1)ptr=cube1;else if(n=2)ptr=cube2;elseLab8: 指针ptr=cube3;printf(“sum=%.2lfn“,sum(x,ptr);double sum(int n,double(*p)(double)double s=0;int k;for(k=1;k#includevoid main()float *pa,*pb,*pc;float pt;if(pa=(float*)malloc(s

8、izeof(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)Lab8: 指针pt=*pa;*pa=*pb;*pb=pt;if(*pa*pc)pt=*p

9、a;*pa=*pc;*pc=pt;if(*pb*pc)pt=*pb;*pb=*pc;*pc=pt;printf(“%.2f %.2f %.2fn“,*pa,*pb,*pc);运行结果截图:答案:Lab8: 指针源程序文本(修改部分红色字体标注)#include#includevoid main()int n;printf(“please input the number of data:n“);scanf(“%d“,float *p,temp;p=(float*)malloc(n*sizeof(float);printf(“please datas:n“);for(int i=0;i*(p+k

10、+1)temp=*(p+k);*(p+k)=*(p+k+1);*(p+k+1)=temp;printf(“after sort:n“);for(i=0;ivoid main()int x4=3,11,8,22;int s=1,*p=for(int i=0;ivoid main()void f(float (*a)4);float a34;printf(“input 3*4 numbers:n“);for(int i=0;i*p)p=for(j=0;j#includevoid main()char a=“987654321“;char *p=a+strlen(a);puts(a);while(p

11、=a)putchar(*p);运行结果截图:4.自测练习四源程序文本:#include#includevoid main(int argc,char *argv)int sum=0;for(int i=1;ifloat matrix(float (*a)3,int n)int i,j;float sum=0;for(i=0;i#includevoid fsort(char cname6,int n)int k,j;Lab8: 指针char temp6;for(k=0;kn-1;k+)for(j=0;jn-k-1;j+)if(strcmp(cnamej,cnamej+1)=1)strcpy(temp,cnamej);strcpy(cnamej,cnamej+1);strcpy(cnamej+1,temp);void main()int i;char cname56=“Wang“,“Li“,“Zhang“,“Jin“,“Xian“;for(i=0;i5;i+)printf(“%sn“,cnamei);fsort(cname,5);for(i=0;i5;i+)printf(“%sn“,cnamei);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报