欢迎来到天天文库
浏览记录
ID:46607593
大小:126.71 KB
页数:11页
时间:2019-11-26
《c++程序设计实验辅导及习题解答-实验8(1、3、7)和实验9》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验八任务1:程序调试。指针作为函数参数。(1)设计一个函数swap,函数的参数为指针,函数的功能是交换main函数中的a,b值。思考:如果上上述swap函数设计为:voidswap(int*p1,int*p2){intp;p=p1;p1=p2;p2=p1;}程序运行会有什么样的结果?为什么?答:只是利用指针交换了双方的地址,但内容没有变化,所以输出结果并未改变。如果上述swap函数设计为:voidswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}程序运行会有什么样的结果?为什么?(2)用引用的方法交换mai
2、n函数中a、b的值,请重新设计函数。程序设计如下:#include"stdafx.h"#includeusingnamespacestd;voidswap(int&p1,int&p2){intp;p=p1;p1=p2;p2=p;}int_tmain(intargc,_TCHAR*argv[]){inta,b;cin>>a>>b;swap(a,b);cout<3、oiddel_char(char*p,charx),删除在字符串中的这个字符。程序设计如下:#include"stdafx.h"#includeusingnamespacestd;#defineN80voiddel_char(char*p,charx){char*q=p;for(;*p!=' ';p++)if(*p!=x)*q++=*p;*q=' ';}int_tmain(intargc,_TCHAR*argv[]){charc[N],*pt=c,x;cout<<"请输入字符串:";cin>>pt;cout<<"请输入所需删除4、的字符"<>x;del_char(pt,x);cout<<"Thenewstringis;"<usingnamespacestd;#includeclassperson{private:intx;charname[20];public:person(inta,char*n){x=a;s5、trcpy_s(name,n);}voidprint(){cout<<"x="<>x>>name;person*p=newperson(x,name);p->print();deletep;return0;}实验九任务1:程序调试。指针作为函数的参数。程序如下:#include"stdafx.h"#includeusingnamespacestd;#defineK16v6、oidByeToBit(bool*Out,constchar*In,intbits){for(inti=0;i>(i%8))&1;}int_tmain(intargc,_TCHAR*argv[]){boola[K];charb[K/8+1]="ab";inti;ByeToBit(a,b,K);for(i=0;i7、。然后定义一个函数指针分别指向两个不同的函数。为了方便调用设计一个函数pp,作为函数调用时统一的接口,使得每次调用的形式保持一致。输入a和b两个数,第一次调用pp时找出a和b中的大者,第二次找出其中的小者。代码如下:#include"stdafx.h"#includeusingnamespacestd;intmax(int,int);intmin(int,int);voidpp(int,int,int(*p)(int,int));intmax(intx,inty){returnx>y?x:y;}intmin(intx,inty){8、returnx
3、oiddel_char(char*p,charx),删除在字符串中的这个字符。程序设计如下:#include"stdafx.h"#includeusingnamespacestd;#defineN80voiddel_char(char*p,charx){char*q=p;for(;*p!=' ';p++)if(*p!=x)*q++=*p;*q=' ';}int_tmain(intargc,_TCHAR*argv[]){charc[N],*pt=c,x;cout<<"请输入字符串:";cin>>pt;cout<<"请输入所需删除
4、的字符"<>x;del_char(pt,x);cout<<"Thenewstringis;"<usingnamespacestd;#includeclassperson{private:intx;charname[20];public:person(inta,char*n){x=a;s
5、trcpy_s(name,n);}voidprint(){cout<<"x="<>x>>name;person*p=newperson(x,name);p->print();deletep;return0;}实验九任务1:程序调试。指针作为函数的参数。程序如下:#include"stdafx.h"#includeusingnamespacestd;#defineK16v
6、oidByeToBit(bool*Out,constchar*In,intbits){for(inti=0;i>(i%8))&1;}int_tmain(intargc,_TCHAR*argv[]){boola[K];charb[K/8+1]="ab";inti;ByeToBit(a,b,K);for(i=0;i7、。然后定义一个函数指针分别指向两个不同的函数。为了方便调用设计一个函数pp,作为函数调用时统一的接口,使得每次调用的形式保持一致。输入a和b两个数,第一次调用pp时找出a和b中的大者,第二次找出其中的小者。代码如下:#include"stdafx.h"#includeusingnamespacestd;intmax(int,int);intmin(int,int);voidpp(int,int,int(*p)(int,int));intmax(intx,inty){returnx>y?x:y;}intmin(intx,inty){8、returnx
7、。然后定义一个函数指针分别指向两个不同的函数。为了方便调用设计一个函数pp,作为函数调用时统一的接口,使得每次调用的形式保持一致。输入a和b两个数,第一次调用pp时找出a和b中的大者,第二次找出其中的小者。代码如下:#include"stdafx.h"#includeusingnamespacestd;intmax(int,int);intmin(int,int);voidpp(int,int,int(*p)(int,int));intmax(intx,inty){returnx>y?x:y;}intmin(intx,inty){
8、returnx
此文档下载收益归作者所有