欢迎来到天天文库
浏览记录
ID:39378943
大小:254.00 KB
页数:21页
时间:2019-07-02
《北科大C语言程序设计实验报告8》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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],intn,i
2、ntm,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(i=0;i
3、max){max=*(p+i*n+j);row=i+1;col=j+1;}}printf("max=%d,row=%d,col=%d",max,row,col);}运行结果截图:Lab8:指针3.练习题三运行结果截图:思考题及问题:①答案:程序运行过程中会出现错误!②答案:试编写strcmp函数,源程序文本:#includeintstrcomp
4、are(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、(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:指针while(ptr!=EMPTY){*p7、tr='*';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、(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:指针while(ptr!=EMPTY){*p
7、tr='*';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
此文档下载收益归作者所有