ImageVerifierCode 换一换
格式:PPTX , 页数:34 ,大小:148.16KB ,
资源ID:4610161      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4610161.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C程序设计第2版ch14习题课v2剖析.pptx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C程序设计第2版ch14习题课v2剖析.pptx

1、计算机程序设计第第614章习题课章习题课杨琦杨琦计算机教学实验中心计算机教学实验中心西安交通大学西安交通大学第第6章指针章指针l习题习题6-1 用指针重新编写冒泡排序程序。用指针重新编写冒泡排序程序。l习题习题6-2 编写程序,将某一个输入的位数不确定的正整数编写程序,将某一个输入的位数不确定的正整数按照标准的三位分节格式输出,例如,当用户输入按照标准的三位分节格式输出,例如,当用户输入82668634时,程序应该输出时,程序应该输出82,668,634。l习题习题6-3 编写程序,把编写程序,把10个整数个整数1、2、10赋予某个赋予某个int型数组,然后用型数组,然后用int型指针输出该数

2、组元素的值。型指针输出该数组元素的值。l习题习题6-4 用指针编写一个程序,当输入一个字符串后,要用指针编写一个程序,当输入一个字符串后,要求不仅能够统计其中字符的个数,还能分别指出其中大、求不仅能够统计其中字符的个数,还能分别指出其中大、小写字母、数字以及其他字符的个数。小写字母、数字以及其他字符的个数。第第6章指针章指针l习题习题6-5 编写一个函数编写一个函数,用于将一个字符串转换为用于将一个字符串转换为整型数值。其原型为整型数值。其原型为:int atoi(char*string);l习题习题6-6 编写一个函数,用于生成一个空白字符编写一个函数,用于生成一个空白字符串,其原型为串,其

3、原型为:char*mystrspc(char*string,int n);习题习题6-1冒泡排序程序冒泡排序程序lvoid bubble_up(int*ptr,int count)llfor(int i=0;ii;j=j-1)lif(*(ptr+j-1)*(ptr+j)llint tmp=*(ptr+j-1);l*(ptr+j-1)=*(ptr+j);l*(ptr+j)=tmp;llptr为指针为指针int main()const int COUNT=16;int listCOUNT=503,87,512,61,908,170,897,275,653,426,154,509,612,677,7

4、65,703;bubble_up(list,16);cout The result is:endl;for(int i=0;i16;i+)cout listi ;coutendl;return 0;习题习题6-2 l例如,当用户输入例如,当用户输入82668634时,程序应该输出时,程序应该输出82,668,634。int main()int num;char array50;char*ptr=array;coutnum;int k=0;while(num!=0)*ptr=num%10+0;num=num/10;ptr+;k+;if(k%3=0)*ptr=,;ptr+;*ptr=0;strre

5、v(array);cout该整数按照标准的三位分节格式输出为:该整数按照标准的三位分节格式输出为:;coutarray=0&*string0)ll*string=;lstring+;ln-;ll*string=0;lreturn ptr;lint main()char*str;int n;coutn;str=new charn;cout“n结果如下,注意结果如下,注意观察观察#之间的空格数之间的空格数:nendl;cout#mystrspc(str,n)#endl;cout;for(int i=0;in;i+)couti%10;coutendl0,计算,计算Xk。l习题习题7-2 Ackerm

6、ann函数函数ack(m,n)由以下递归定由以下递归定义:义:l习题习题7-3 使用递归算法编写求斐波那契数列的第使用递归算法编写求斐波那契数列的第n项的函数,并编出主函数进行验证。项的函数,并编出主函数进行验证。第第7章章 函数与指针函数与指针l习题习题7-4 编写一个求立方的函数编写一个求立方的函数cube,并重载它,使之可,并重载它,使之可以对输入的整型量和实型量数值求立方。以对输入的整型量和实型量数值求立方。l习题习题7-5 重载判断两个数值大小的函数重载判断两个数值大小的函数max,这些数值可,这些数值可能是整型数、实型数和字符型,函数的返回值为两个数值能是整型数、实型数和字符型,函

7、数的返回值为两个数值中的最大值。中的最大值。l习题习题7-6 编写一个函数,用于去掉字符串尾部的空格符,编写一个函数,用于去掉字符串尾部的空格符,其原型为其原型为:lchar*mytrim(char*string);l习题习题7-7 编写一个函数,用于去掉字符串前面的空格,其编写一个函数,用于去掉字符串前面的空格,其原型为原型为:lchar*myltrim(char*string);第第7章章 函数与指针函数与指针l习题习题7-8 编写一个程序,当输入一个整数以后,编写一个程序,当输入一个整数以后,可以转换成相应的英文单词输出。如:可以转换成相应的英文单词输出。如:123转换成转换成one h

8、undred twenty three。l习题习题7-9 用牛顿法或者二分法编写一个求方程用牛顿法或者二分法编写一个求方程f(x)=0在区间在区间a,b中的实根的函数中的实根的函数,其原型为其原型为:double equation(double(*func)(double),double a,double b,double eps);习题习题7-2#includeusing namespace std;int ack(int m,int n)if(m=0)return n+1;else if(n=0)return ack(m-1,1);return ack(m-1,ack(m,n-1);结果:

9、结果:ack(0,0)=1ack(2,3)=9ack(2,4)=11习题习题7-mytrim(char*string);char*mytrim(char*string)char*ptr=string;while(*ptr!=0)ptr+;doptr-;while(*ptr=);*(+ptr)=0;return string;int main()char str=The art of computer programming ;cout 截取前的原始字符串是截取前的原始字符串是:strendl;cout 截取空格后的字符串是截取空格后的字符串是:mytrim(str);return 0;习题习题

10、7-7 myltrim(char*string);lchar*myltrim(char*string)llchar*ptr=string;lwhile(*ptr=)lptr+;lstrcpy(string,ptr);lreturn string;l第第8章章 结构化设计方法结构化设计方法l1输入某小组输入某小组5个人的姓名、性别、出生年份等信息,统计男女人数个人的姓名、性别、出生年份等信息,统计男女人数以及以及1988年以后(含年以后(含1988年)出生的人数。年)出生的人数。l2定义一个名为定义一个名为Circle(圆)的结构体,其数据成员是圆的外接矩形(圆)的结构体,其数据成员是圆的外接矩

11、形的左上角和右下角两点的坐标,计算该圆的面积。的左上角和右下角两点的坐标,计算该圆的面积。l3读入读入5个用户的姓名和电话号码,按姓名的字典顺序排列后,输出个用户的姓名和电话号码,按姓名的字典顺序排列后,输出每个用户的姓名和电话号码。每个用户的姓名和电话号码。l4口袋中有红、黄、蓝、白、黑五种颜色的小球若干个。如果每次口袋中有红、黄、蓝、白、黑五种颜色的小球若干个。如果每次都从口袋中取出都从口袋中取出3个不同颜色的小球,共有多少种组合,请打印出每个不同颜色的小球,共有多少种组合,请打印出每种组合的种组合的3种颜色。要求使用枚举类型来表示小球的颜色。种颜色。要求使用枚举类型来表示小球的颜色。l5

12、用自顶向下、逐步求精的程序设计方法找出用自顶向下、逐步求精的程序设计方法找出210000之内的所有之内的所有完全数(所谓完全数,即其各因子之和正好等于本身的数。如完全数(所谓完全数,即其各因子之和正好等于本身的数。如6=1+2+3,28=1+2+4+7+14,所以,所以6,28都是完全数)都是完全数)第第9章章 类和对象类和对象 l习题习题9-1设计一个设计一个Dog类,包含类,包含name、age、sex和和weight等属性以及对这些属性操作的方法。实等属性以及对这些属性操作的方法。实现并测试这个类。现并测试这个类。l习题习题9-2设计并测试一个名为设计并测试一个名为Ellipse的椭圆类

13、其的椭圆类,其属性为外接矩形的左上角与右下角两个点的坐标,属性为外接矩形的左上角与右下角两个点的坐标,并能计算出椭圆的面积。并能计算出椭圆的面积。l习题习题9-3仿照仿照Date类设计一个类设计一个Time类,可以设类,可以设置时间、进行时间的加减运算、按各种可能的格置时间、进行时间的加减运算、按各种可能的格式输出时间。式输出时间。习题习题9-1设计一个设计一个Dog类类l#include l#include lusing namespace std;lclass Doglstring name;intage;char sex;lfloat weight;lpublic:lDog(strin

14、g Name,int Age,char Sex,float Weight);lstring GetName()return name;lint GetAge()return age;lchar GetSex()return sex;lfloat GetWeight()return weight;lvoid Speak()coutArf!Arf!endl;l;Dog:Dog(string Name,int Age,char Sex,float Weight)name=Name;age=Age;sex=Sex;weight=Weight;int main()Dog dog1(ahuang,3,m,

15、2.4);coutDogs name:dog1.GetName()endl;coutDogs age:dog1.GetAge()endl;coutDogs sex:dog1.GetSex()endl;coutDogs weight:dog1.GetWeight()endl;coutDog speak:;dog1.Speak();return 0;习题习题9-3设计一个设计一个Time类类lclass Timellint hour,minute,second;lpublic:lint SecCalc();lTime(int h=0,int m=0,int s=0);/构造函数构造函数lvoid

16、SetTime(int h=0,int m=0,int s=0);/时间设置时间设置lvoid print_12();lvoid print_24();lTime Add(Time&);lTime Sub(Time&);l;第第9章章 类和对象类和对象l习题习题9-4合并合并Date类和类和Time类为一个类为一个DateAndTime类,修改相应的成员函数,当时间类,修改相应的成员函数,当时间递增到新的一天时,应能够修改日期值。递增到新的一天时,应能够修改日期值。#include#include class CDateTimeCTime t;public:CDateTime(int y,in

17、t m,int d,int h,int mm,int s)t=CTime(y,m,d,h,mm,s);void AddDay(int days)t=t+CTimeSpan(days,0,0,0);void IncDay()t=t+CTimeSpan(1,0,0,0);void print_ymd()CString s=t.Format(%Y,%m%d);coutsendl;int main()CDateTime x(2007,4,27,1,2,3);x.print_ymd();x.AddDay(5);x.print_ymd();return 0;第第10章章 类和对象(二)类和对象(二)l1定

18、义一个定义一个Dog类,包含类,包含name、age、sex、weight等等属性,设计一个构造函数,可以对这些属性进行初始化。属性,设计一个构造函数,可以对这些属性进行初始化。实现并测试这个类。实现并测试这个类。l2设计并测试一个名为设计并测试一个名为Ellipse的椭圆类,其属性为其圆的椭圆类,其属性为其圆心坐标以及半长轴和半短轴的长度。设计一个构造函数对心坐标以及半长轴和半短轴的长度。设计一个构造函数对这些属性进行初始化,并通过成员函数计算出椭圆的面积。这些属性进行初始化,并通过成员函数计算出椭圆的面积。l3仿照仿照Date类设计一个类设计一个Time类,设计多个重载的构造函类,设计多个

19、重载的构造函数,可以设置时间、进行时间的加减运算、按各种可能的数,可以设置时间、进行时间的加减运算、按各种可能的格式输出时间。格式输出时间。l4合并合并Date类和类和Time类为一个类为一个DateAndTime类,修改类,修改相应的成员函数,当时间递增到新的一天时,应能够修改相应的成员函数,当时间递增到新的一天时,应能够修改日期值。日期值。习题习题10-1 定义一个定义一个Dog类类lclass Doglchar name20;lintage;lchar sex;ldouble weight;lpublic:lDog(char*Name=,int Age=0,char Sex=m,doub

20、le Weight=0)lstrcpy(name,Name);lage=Age;lsex=Sex;lweight=Weight;llchar*GetName()return name;lint GetAge()return age;lchar GetSex()return sex;ldouble GetWeight()return weight;lvoid Speak()coutArf!Arf!endl;l;习题习题10-2 设计设计Ellipse类类lclass Ellipsellint x1,y1,x2,y2;lpublic:lEllipse(int a=0,int b=0,int c=0

21、int d=0):l x1(a),y1(b),x2(c),y2(d)l void GetPosition(int&a,int&b,int&c,int&d)l l a=x1,b=y1,c=x2,d=y2;l l double Area()l l return(double)x2*y2*3.1415926;l l;习题习题10-3 设计设计Time类类lclass Timellint hour,minute,second;lpublic:lint SecCalc();lTime(int h=0,int m=0,int s=0);/构造函数构造函数lvoid SetTime(int h=0,int

22、 m=0,int s=0);/时间设置时间设置lvoid print_12();lvoid print_24();lTime Add(Time&);lTime Sub(Time&);l;第第11章章 继承继承l习题习题11-1从类从类Person中派生出一个教师类,新增的属性中派生出一个教师类,新增的属性有:专业、职称和主讲课程(一门),并为这些属性定义有:专业、职称和主讲课程(一门),并为这些属性定义相应的方法。相应的方法。l习题习题11-2许多研究生既有学生的属性,又有教师的属性。许多研究生既有学生的属性,又有教师的属性。试通过多重继承说明一个研究生类。试通过多重继承说明一个研究生类。l习

23、题习题11-3修改例修改例10-4,从,从Point类中派生出一个类中派生出一个Line类。类。Line类增加一个数据成员类增加一个数据成员EndPoint,计算线的长度。试,计算线的长度。试比较一下与直接使用比较一下与直接使用Point类来构造类来构造Line类的不同之处。类的不同之处。l习题习题11-4从从Date类和类和Time类派生一个类派生一个DateAndTime类,类,修改相应的成员函数,当时间递增到新的一天时,应能够修改相应的成员函数,当时间递增到新的一天时,应能够修改日期值。修改日期值。习题习题11-1从类从类Person派生派生Teacher类类lclass Personl

24、protected:lchar Name10;lintAge;lintSex;lpublic:lPerson(char*name=,int age=0,char sex=m)lstrcpy(Name,name);lAge=age;lSex=(sex=m?0:1);llvoid ShowMe()lcoutNametSextAget;l;习题习题11-1从类从类Person派生派生Teacher类类lclass Teacher:public Person lchar Specialty20;lchar Position20;lchar MajorCourse20;lpublic:lTeacher(

25、char*name=xxx,int age=0,char sex=m,char*spec=x,char*pos=x,char*maj=x):Person(name,age,sex)lstrcpy(Specialty,spec);lstrcpy(Position,pos);lstrcpy(MajorCourse,maj);llvoid Teacher:ShowMe()lPerson:ShowMe();lcoutSpecialtytPositiontMajorCourseendl;ll;第第12章章 多态性多态性l习题习题12-2扩充例扩充例11-6,从中派生出一个正方形类,从中派生出一个正方形类

26、和圆柱体类,写一个测试程序,输出正方形的面和圆柱体类,写一个测试程序,输出正方形的面积和圆柱体的体积。提示:正方形数据成员:一积和圆柱体的体积。提示:正方形数据成员:一个顶点和边长;圆柱体数据成员:圆和高。个顶点和边长;圆柱体数据成员:圆和高。PointSquareCircleCylinder第第12章章 多态性多态性l习题习题12-3扩充实例编程中的日期类,为扩充实例编程中的日期类,为Date类增类增加一个成员函数,可以判断一个日期是否是系统加一个成员函数,可以判断一个日期是否是系统当前日期。从键盘输入你的生日,如果今天是你当前日期。从键盘输入你的生日,如果今天是你的生日则显示:的生日则显示

27、Happy Birthday!”,否则显示,否则显示“还有还有xx天是你的生日天是你的生日”或或“你的生日已经过去你的生日已经过去了了xx天,明年的生日要再等天,明年的生日要再等yy天天”。第第13章章 模板与异常处理模板与异常处理l习题习题13-1 编写一个求绝对值的函数模板,并测编写一个求绝对值的函数模板,并测试。试。l习题习题13-2 请将例请将例4-5的冒泡排序函数改写成为模的冒泡排序函数改写成为模板函数并编写一个程序进行测试。板函数并编写一个程序进行测试。l习题习题13-3 例例13-6中所定义的通用栈类实际上是中所定义的通用栈类实际上是不完善的,如无法根据用户需求改变栈的大小,

28、不完善的,如无法根据用户需求改变栈的大小,没有提供栈满溢出无法压入和空栈无法弹出提示没有提供栈满溢出无法压入和空栈无法弹出提示等,请改进该程序。等,请改进该程序。l习题习题13-5例例6-1给出的求阶乘给出的求阶乘n!的函数,当用户的函数,当用户的输入太大时(如的输入太大时(如51),会出现错误,请编写一),会出现错误,请编写一个程序,使用异常处理机制来解决这一问题。个程序,使用异常处理机制来解决这一问题。第第14章章 标准库和输入标准库和输入/输出流输出流 l习题习题14-1编写一个程序,分别用不同的域宽编写一个程序,分别用不同的域宽(010)打印出整数)打印出整数12345和浮点数和浮点数

29、1.2345。观。观察当域宽小于数值的实际需要的域宽时会发生什察当域宽小于数值的实际需要的域宽时会发生什么情况。么情况。输出输出:1234512345123451234512345 12345 12345 12345 12345 12345输出输出:1.23451.23451.23451.23451.23451.2345 1.2345 1.2345 1.2345 1.2345第第14章章 标准库和输入标准库和输入/输出流输出流l习题习题14-2编写一个程序,将华氏温度编写一个程序,将华氏温度0度度212度度转换为浮点型摄氏温度,浮点数精度为转换为浮点型摄氏温度,浮点数精度为3。转换公。转换公式

30、如下:式如下:Celsius=5.0/9.0*(Fahrenheit-32);输出输出:Fahrenheit Celsius 0 -17.778 1 -17.222 2 -16.667 210 98.889 211 99.444 212 100.000第第14章章 标准库和输入标准库和输入/输出流输出流l习题习题14-3编写一个程序,打印出编写一个程序,打印出ASCII字符集中码字符集中码值为值为33126的字符的的字符的ASCII码表。要求输出十进码表。要求输出十进制值、八进制值、十六进制值以及码值所表示的制值、八进制值、十六进制值以及码值所表示的字符。字符。输出输出:dec oct hex

31、 char 33 41 21 !22 42 22 23 43 23#7c 174 7c|7d 175 7d 7e 176 7e 第第14章章 标准库和输入标准库和输入/输出流输出流l习题习题14-5编写一个程序,可以读入一个编写一个程序,可以读入一个C+语言语言的源文件,每一行加上行号后保存到另一个后缀的源文件,每一行加上行号后保存到另一个后缀为为.prn的同名文件中。的同名文件中。输出输出:假定上述文件名为test.cpp,程序执行后生成test.prn文件,内容如下:1 /Exercise 13_5 2#include 3#include 26 out.close();27 return 0;28 l学好程序设计语言的唯一途径是学好程序设计语言的唯一途径是 l你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成 结结束束语语

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服