欢迎来到天天文库
浏览记录
ID:12963820
大小:269.00 KB
页数:21页
时间:2018-07-19
《北科大c语言程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Lab8:指针姓名徐松松学号41345053班级计1304说明:1.本次上机内容分两次上机完成。2.将本文档改名为“学号_姓名_班级_Lab8.doc”,按照本说明完成以下实验内容;3.在16周周日前通过课程中心提交本文档。实验内容和实验要求(实验指导P148)1.练习题一运行结果截图:2.练习题二纠错:intFindMax(intscore[][STU],intn,intm,int*pRow,int*pCol)STU改为ARR_SIZE运行结果截图:Lab8:指针思考题及问题:①答案:可以。只要修改参数为intFindMax(int(*score)[ARR_SIZE],int
2、n,intm,int*pRow,int*pCol)②答案:函数文本(修改部分红色字体标注)#include#includevoidmain(){inti,j,m,n,max,row,col;printf("Pleaseenterrownumbers:");scanf("%d",&m);printf("Pleaseentercolnumbers:");scanf("%d",&n);Lab8:指针int*p=(int*)malloc(m*n*sizeof(int));printf("Pleaseenternumbers:");for
3、(i=0;imax){max=*(p+i*n+j);row=i+1;col=j+1;}}printf("max=%d,row=%d,col=%d",max,row,col);}运行结果截图:Lab8:指针3.练习题三运行结果截图:思考题及问题:①答案:程序运行过程中会出现错误!②答案:试编写strcmp函数,源程序文本:#includei
4、ntstrcompare(char*,char*);voidmain(){char*list1="Seenoevil,hearnoevil,";char*list2="blindanddeaf?";Lab8:指针puts(list1);printf("");puts(list2);printf("");intn=strcompare(list1,list2);if(n==1)printf("list1>list2");elseif(n==0)printf("list1=list2");elseif(n==-1)printf("list15、ntstrcompare(char*s1,char*s2){inti=0;while((*s1!=' ')&&(*s2!=' ')){if(*(s1+i)!=*(s2+i))break;i++;}if(*(s1+i)!=' '&&*(s2+i)!=' ')if(*(s1+i)>*(s2+i))return1;elsereturn-1;elseif(*(s1+i)==' '&&*(s2+i)==' ')return0;elseif(*(s1+i)==' ')return-1;elsereturn1;}运行结果截图:Lab8:指针4.练习题四运行结果截图:Lab8:指6、针思考题及问题:①答案:可以。因为*s++等价于*s;s++;所以while((*s!=d)&&(*s!=' '))s++;可以换成while((*s!=d)&&(*s++!=' '));②答案:源程序文本(修改部分红色字体标注)#include#defineEMPTY0char*findfirst(char*,char);voidmain(){charstring[]="Oh!dayafterday.";char*ptr;printf("%s",string);ptr=EMPTY;ptr=findfirst(string,'d');Lab8:指针wh7、ile(ptr!=EMPTY){*ptr='*';ptr=findfirst(ptr,'d');}printf("%s",string);}char*findfirst(char*s,chard){while((*s!=d)&&(*s!=' '))s++;if(*s==d)returns;elsereturnEMPTY;}运行结果截图:5.练习题五运行结果截图:Lab8:指针思考题及问题:①答案:源程序文本(修改部分红色字体标注)#includedoublecube1
5、ntstrcompare(char*s1,char*s2){inti=0;while((*s1!=' ')&&(*s2!=' ')){if(*(s1+i)!=*(s2+i))break;i++;}if(*(s1+i)!=' '&&*(s2+i)!=' ')if(*(s1+i)>*(s2+i))return1;elsereturn-1;elseif(*(s1+i)==' '&&*(s2+i)==' ')return0;elseif(*(s1+i)==' ')return-1;elsereturn1;}运行结果截图:Lab8:指针4.练习题四运行结果截图:Lab8:指
6、针思考题及问题:①答案:可以。因为*s++等价于*s;s++;所以while((*s!=d)&&(*s!=' '))s++;可以换成while((*s!=d)&&(*s++!=' '));②答案:源程序文本(修改部分红色字体标注)#include#defineEMPTY0char*findfirst(char*,char);voidmain(){charstring[]="Oh!dayafterday.";char*ptr;printf("%s",string);ptr=EMPTY;ptr=findfirst(string,'d');Lab8:指针wh
7、ile(ptr!=EMPTY){*ptr='*';ptr=findfirst(ptr,'d');}printf("%s",string);}char*findfirst(char*s,chard){while((*s!=d)&&(*s!=' '))s++;if(*s==d)returns;elsereturnEMPTY;}运行结果截图:5.练习题五运行结果截图:Lab8:指针思考题及问题:①答案:源程序文本(修改部分红色字体标注)#includedoublecube1
此文档下载收益归作者所有