欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    《C++程序设计》经典习题(含参考答案).docx

    • 资源ID:1694890       资源大小:360.95KB        全文页数:113页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《C++程序设计》经典习题(含参考答案).docx

    5天搞懂:C+3言 考试一次过 大学生必会 高频考点 学霸必会 考研通关 (含详细解答)PART-U简述冯诺依妣计算机的用成及工作过程.【解】沔诺依及计算机出五大部分组成:运尊器、控制器、存储器、输入设需和输出设备.运能器是真正执行计算的殂件.它在控制器的控制下执行程序中的指令,完成修术运算、遗轨运算和移位运算等.控制器用于协调机器其余部分的工作,控制器依次读入程序的每条指令,分析指令,命令各其他部分共同完成指令要求的任务.存砧器用来存储数据和程序。存储器UJ分为主存储器和外存储罂,主存储器又称为内存,用来存放正在运行的程序和程序处理的数据.外存箍器用来存放长期保存的数据。输入/输出设备又称外困设备,它是外部和计豫机交换信息的集道,输入设备用尸输入程序、ft据、操作命令、图形、图像和出音等佶息.输出设备用于显示或打即程序、运算结果、文字、图形、图像等.也可以播放声音和视频等信息.2简述寄存器、主存储器和外存储器的异同点。【裤】寄存器、主存储器和外存储器都是用于存储信息,但级别不同.从功能来讲.寄存器存储的是运算器当前正在运算的数据或当前正在执行的那条指令.主存储器保存的是正在运行的程序代码和数据。外存储器保存的是需要长期保存的数据,从容埴珀度来讲,寄存器容业G小,内存次之,外存储器最大.从访问速度来讲,寄存器以快,内存次之,外存最悔,【31所有的计蚱机能第执行的指令都是相同的吗?【解】计算机能防执行的指令是直接由硬件完成的,与硬件设计有关.不同的硬件设计产生不同的指令系统.因此,不同类型的计算机所能执行的指令是不同的.S投入正式运行的程序就是完全正确的程序吗?【解】程序的调试及测试不可能将程序所有的路径、所彳i的数据都执行通,因此只能发现并改正程序中的某些错误,而不能证明程序是正确的.【5为什么南要漏洋?为什么需要链接?【解】计算机硬件能“认识”的只有机零指令,它并不认识程序设计诺吉.如C+.要使计尊机能弊执行C+写的程序,必须把C+的程序融洋成计驾机认识的机器语S,机器语言版的程序称为目标程序.源程序到目标程序的翻译是由编译器完成的.程序员编写的程序通常会用到其他程序员或C+系统已珞编好的一些工具,程序运行时会用到这些工具的代码.需要将目标文件和这些j:具的目标文件砌在一起,这个过程称为旋接.链接器就是为友这个链接工作.璀接以后的代码称为一个可执行文件.这是能直接在某合计停机上运行的程序.6调试的作用是什么?如何进行程序调试?【解】调试的作用是尽可能多地找出程序中爱辑福误,使程序能给出正确的答案。调试一般需要运行程序,通过观察程序的阶段性结果来找出错误的位W和原因,并改正错误。(7试列出一些常用的系统软件和应用软件。【解】常用的系统软件有:操作系统、彘译系统、数据库系统等.应用软件乂分成通用的应用软件和£用的应用软件,通用的应用软件提供一些常规的应用,如文字处理软件宣Crd,媒体播放软件MediaPIay等.专用的应用软件是某个领域专用的一些软件,如银行系统、证券交易系统等.8J为什么在不同生产厂商生产的计算机上运行C+程序册要使用不同的编译S.【解】因为不同的生产厂商生产的计算机有不同的机落谱吉.所以褥要不同的爆洋博符同样的C+程序制讲成不同的机器语言。9什么是源程序?什么是目标程序?为什么目标程序不能出接运行?【解】用某种程序设计谱*写的程序称为源程序.源程序经过编译产生的机涔谱言的程序称为目标程序.因为程序可能用到了一些其他程序员写好的程序,没有这线工具程序的代码整个程序就无法运行,因此需要将目标程序和这些工具的1:1标程序桂接在一起后才能运行.11为什么不直接川自然语言和计算机进行交互,而要设计专门的程序设计诺有?【物】自然语言太更杂,而计算机本号机涔语言的功能又非常简单,如果要将自然语言作为人机交互的工具,编译器的设计与实现必将蒋常的我杂,另外,自然语言太灵活,理解白然语言需要一些背景知识,否则会产生二义性,这也给计算机实现带来了很大的麻烦.12试列举出高欲语言的若干优点(相比与机器语吉).【解】首先高级语言更接近于自然语言和人们熟态的数学表示,学起来比较方便,其次高段语言功能比机器语言强,般的机器语言只能支持整数加法、移位、比较等操作,而高级语言能执行打杂的算术发达式、关系&达式和逻辑表达式.高徼语古可以使程序员在较高的抽取层次上考虑问题,编程序比较容易.第三,高级谣言具行相对的机潴独立性.在-价机器上用高级语言涮写的程序可以在另外一台不同厂商生产的计算机上运行,这使得程序有较好的可移植性,有利于代码曳用.13为什么不同类卡的计蚱机Ur以运行同一个C+程序,而不同类型的计算机不能运行同一个汇嫔程序?【裤】因为不同类型的计匏机上有不同的C+编译等,可以将同一个C+程序第详成不同机器上的机器诺音表示的目标程序.而汇编程序便是机器谱吉的另一种表现形式.不同类型的计算机有不同的机器语言,也就有不I可的汇编语言,【相】机器语言为什么要用难以理解、难以记忆的:进制比特申来表示指令,而不用人们容物理解的符号来表示?【解】因为计算机是由逻辑电路组成的,而0、I正好对应于逻辑电路中的两种电平信号,可以宜接翎译成控制信号,使计整机帔件实现比较容易。如果采用人比较容易理钾的符号,如英文、中文或者数学符号,则计算机需要用硬件将这些符号翎译成控制信号,使硬件设计非常复杂,甚至无法实现.151为什么电禳机只能播放电视台发布的电视.DVai8放机只能播放DVD碟片,而计算机却既健当电视机用,又能当DVD机用,甚至还可以游戏机用?解】电视机只能播放电视台发布的电视,DVD播放机只能播放DvD磔片,这是因为设计时已经规定好它们的功能.而计整机有一个开放的平台,具有学习的功能,可以允许程月i员“教会”它打惭的知识和技能.只要娘写/能完成相应功能的程序,计算帆就具备了相应的功能.16说明卜,面概念的异同点:(1)硬件和软件(2)算法与程序(3)高级语言和机器语言(D语法错误与逻辑错误【解】硬件和软件:计算机的硬件是计算机的“肉体”,是看得见、摸得着的实体,它只能做一些葬常简单的工作.计算机的软件是it。机的“灵魂”.“英魂”指导“肉体”完成一项项的工作.当你买了一台计算折后,它的便件是不变的.但是你可以让它“学习”,即安装不同的软件,你的计算机就有了不同的能力。(2)除法与程序:算法是按照计算机能够完成的瑶本功能,设计出的解袂某问遨的基本步骡.用某一种程序设计语言描述的算法称为程序.(3)高级语言和机潴语有:机潺语才是计尊机硬件具备的功能的抽望.高级谙*是面向程序员的语言,比较接近数学表示,使程序容易编写。(»语法错误是指程序的表述没有完全符合程序设计语言的语法规范。逻辑错误是指算法设计过程中的错误或漏洞.第:章简答题1程序开头的注糕有什么作用?【解】程序开头的注择是对程序整体的介绍。一般包括海文件的名称、程序的功能、作者、创建11期、修改者、修改门期、撼改内容等,程序注林还可以描述程序中特别笑杂的部分的实现方法和过程,给出如何改变程序行为的嗔建议率当程序悌来的某天制要做1i时,程序员可以通过这些注萍而不是程序本身来了解程序是如何工作的.【2】阵的作用是什么?【解】库是一性常用工具的集合,这些工具是由其他程序员端写的,能够完成特定的功能。当程序员在维程时需要用到这些功能时,不需要再自己编程解决这些间烟,只需要调用库中的工具.这样可以减少史豆编程.【3】在程序中采用符号常Ift有什么好处?【解】采用符号常量:主要有两个好处:提高程序可读性和可维护性.4 C+有理两种定义符号常录的方法?C+建议的是哪一种?解】第一种是C语言的风格:!define符号常货值第二种是C+iB古的风格:const类型符号常量-伯:C+建议用第二种。用Wefine定义符号常城有两个何造:一是所定义的符号常盘无法进行类型检查:是¥Ciefine的处理只是简单的字符申件换,可能会引起一些意想不到的错误,而C+的风格指明了常量的类型,同时是将右边的发达式的假计算出来后再与符号常显关联起来.例如有定义defineABC3+5程序中有语句X-3ABC;则X的结果是14.即33+5,而不是24.即3-8,但如果用constintABC3*5则结果是24.【5】C+定义了一个称为Cmath的库,其中包括常用的数学函数.要访问这些函数,褥要在程序中引入什么语句?【解】需要有一个编译Hi处理命令:inc1.udeVCmath>,表示程序用到这个序,【6】每个C+诺吉程序中祐必须定义的函数的名称是什么?【解】每个C+谙*程序中都必须定义的函数的名称是maintain函数是C+程序的主程序.是程序执行的入口.7如何定义两个名为num1.和num2的整里变盘?如何定义三个名为X、丫、Z的实型双精度变量?【耨】定义两个名为num1.和num2的斜型变fit可用语句intnm1.rnm2;定义三个名为x、y、Z的实型双粕度变Iftdoub1.e×ry,z;【g】简单程序通常由就三个阶段如成?【解】茴单程序通行由输入阶段、计算阶段和输出阶段组成,输入阶段接收用户输入的需要加工的数据.计算阶段符幼入的数据加1.f嫡出数据.输出阶段招加工后的数据怆出给用户.在揣写程序时,最好在各阶段之间插入一个空行,使程序逻辑更加清晰。9 一个数据类型有哪两个重要属性?【解】第,个是该类型的数据在内存中是如何丧示的,第二个是这类数据允许执行做些操作。10两个短整型数相加后,结果是什么类型?【解】短整型数据在执行算术运算时会先被转换成标准的整型然后执行小型运算.所以两个短整型的整数相加后的结果是将鞭。(111舞术表达式true+fa1.se的结果是多少?结果值是什么类里的?【解】布尔里数抠在执行算术运W时会先被转换成标准的整型然后执行整型运兜,true转换位1.fa1.se转换为0,所以true+fa1.se的结果是整型1.【12】说明下列语句的效果,假设i、j和k声明为整里变早:i三<j-4>*(k-161;【耨】j的值为4.k的优为16.i的值为64.【13】用怎样的简单语句将X和y的值设置为1.0(©设它们都被评明为doub1.e型?【解】可以用嵌套赋值;X=y=1.0;(141假如整型数用两个字节我示,写H1.下列各数在内存中的表示,并写出它们的八进制和十六进制表示:1.O32240-132700【解】整型数在机涔内部被我示为补码形式.所以这些整数在内存中的表示以及八进制、十六进制表示如下表所示。内存中的表示AM制十六迸制10Ooooooooooooioio12a3200000000001000004020240Ooooooooiii100oo360¢0-11111111111111111177777ffft327000111111110111100776747fbc15辨别卜列哪些常量:为C+语宫中的合法常诉。对于合法雷量,分辨其为整型常瑶还是浮点型常限:421,000,000-173.1415926123456789-2.30.000001201.1E+112.01.1X+11231.2.2E2.2【解】这些你的怡况如下我所示.421.r000,000-173.1415926123456789-2.30.000001整型I1.ttSfU浮点型整型浮点型浮点型201.1E4112.01.1X411231.2.2E2.2整型浮点型浮点型IIiAmH:法16指出下列哪喊J½C+语言中合法的变法名?a.Xg.tota1.outputb.form1.a1.h.aReasonabIy1.OngVariabIeNamec.averagerainfa1.1.i.12MonthTota1.d.%correctj.margina1.-costeshortk.b4handf.tiny1._stk_depth【解】这些符号的情况如下我所示.X合法formu1.a)合法average_rainfa1.1.合法%correct不合法short不合法tiny合法tota1.output不合法aReasQnab1.y1.ongVaCiab1.eName合法12MonthTota1.不合法margina1.-cost不合法b4hand合法_stk_depth合法(11在一个变Ift赋值之前.可以而它的值班出什么叙设?【解】可以假设它的值是一个随机值,19若k已被定义为int型变理,当程序执行赋值语句k-3.14159;后.k的值是什么?若再执行下面语句,k的值是什么?k=2.71828;【解】在执行了k=3.14159;后,k的值为3,在执行了k=2.71828:后,k的值为2°【22】以下哪些是合法的字符常t?'a',nabw,'ab,'n','01.23,0123,wmw【解】I%*ab*'abr、3,0123,%0123z*ae"m1:法I1.1.-.合法h½合法I1.iA【23】写出完成下列任芬的发达式:a.取出整R变的个位数b.取出整里变n的上位以上的数字c,将整型变“匕和b相除后的湎存于变吊c,余数存于变Iftdd.将字符变量Ch中保存的小写字母转换成大写字符e.将doub1.e型的变!½d中保存的数字按四舍五入的规则转换成够数【解】a. n10b. n/10c. c=ab,d=abd. ch-'a,'h,e. Int1.c1.0.5)125】若变Mk为int类型,X为doub1.ets?,执行了k=3.1415;x=k;后,X和k的值分别是多少?解k的值是3.X的值为3.0.【26】已知华氏温度到摄氏温度的转换公式为C=1(F-32)9某同学编写了一个将华氏温度转换成摄氏温度的程序:intrrain<>(intCrf;cot«-Wi输入华氏i度:"cin»£C-5/9*<f-32);COUt«”对酶的掇氏温度为:“«C;return0;»但无论输入什么值,程序的输出都是。.请你梢他找找哪电出问题了.【裤】由于该程序中将变Iftf定义为Inc型,表达式5/9(f-32)中的所有运完数都是int类型,C+执行整型运算.5/9为0,0乘任何数都为0,所以C的值永远为0.只要将5改成5.。,程序就能得到正确的结果.PART二程序设计SS2设计一个程序完成卜,述功能:输入两个急型数,输出这两个整型数相除后的商和余数,I解】#inc1.ude<1.ostream>usingnamespacestd;i11tnain<>(intnum1.rnm2,quotient,remainder;cout«”请输入两个整型技:,c1.n»num1.»GUm2;quotient-num1./nu»2;计灯有remainder=num1.%nm2;日算余数cot«num1.«-/-«n三2«”的向为:"«quotient«end1.;cout«num1.<<m"«num2«”的余数为:"«remainder«end1.;returnO;J【3】输入9个小于8位的整型数,然后按3行打印,期一列都要对齐。例如输入是:1、2、3、11、22、33、111.222、333,输出为123112233I1.1.222333【解】#inc1.ude<iostram>usingnamespacestd;intain<>(intnum1.,GUm2.num3,num4rnujn5rnum,num"?,num8rnum9;cout<<”请输入9个整型8h”;cin»nm1.»nt112»num?»num4»num5»num6»num?»nm8»num9;cot«num1.«,t*«nm2«,t,«num3«end1.;cout«num,«,t«num5«t«num6«end1.;cot«num?«f«num8«f«num9«end1.;returnO;4某工种按小时计算工资.每月劳动时间(小时)乘以每小时工资等于总工资。总工资扣除1.(H的公积金,利余的为应发工资。编写一个程序从键盘输入劳动时间和每小时工资,输出应发工资.【耨】#inc1.ude<1.ostreaj>usingname三pacc三td;intmain<>Iintti11rya11FerHourrtota1.Sa1.aryrsa1.ary;COUt«"语输入每小时工资:”;cin»yuanPerHour;COut<<"清第I入本月劳动时间£cin»time;计算总工资/计算应发工费tota1.Sa1.ary=time*yuanPerHour;sa1.ary-tota1.sa1.ary-0.1tota1.sa1.ary;COUt«”本月内褥工资为:<<sa1.ary«end1.;return0;【5】编写一个程序,用于水果店代货员结账C已知即果好斤250元,鸭梨每斤1.80元,杏点每斤2元,橘f每斤160元.要求输入各种水果的fKJt打印应付金额.再输入做客付款数.打印应找库的金额【解】dine】Udg<iostrean>usingnamespacestd;intwain<>constdoub1.econstd。UJbIeconstdoub1.econstdoub1.epriceOfApp1.e-2.50;PriceOfPear-1.80;pri0fBana11a-2.00;PriceOfOrange-1.60;doub1.eapp1.zFQar,bana11arorange;doub1.emoney,income/change;cout«”请输入革果«橘的岷朵,cin»app1.e»pear»banana»orange;money-app1.epriceOfApp1.e+pearpriceOfPearbananariceOfBananaorangepr1.cefrange;cout<<“你应该付“«money«-元-«end1.;cin»incoje;change-income-money;cout«找零"«change<<”元,return0;16】编写一个程序完成下述功能:输入一个字符,输出它的ASC1.工值。【解】#inc1.ude<1.ostrea>usingnamespacestd;int11,ain<>(charch;cout«请输入一个字符:”;cin»ch;cout<<staticcast<int><ch)«end1.;return0;【?】假设校园电费是O.6元/千瓦时,怆入这个月使用了多少千瓦时的电,灯出你要交的电费.假如你只有1元、5角和1角的硬币,请问各储要多少1元、5角和1角的怏而.例如这个月使用的电量是11,那么输出为电费:6.6共需6张1元、1张$角的和1张1角的【解】#inc1.ude<iostreare>usingnamespacest<i;intwain<>(constintFEE-6;H费M以坳为里位intamount,money;COUt«"一检入本月的用电量:cin»a11>unt;money-amountFEE;/计算本月应付多少角cout«”你本月的电费是"«money/10«“元“«money10«”角“«Und1;cout«f1.ji,"<money/1.O«"个1元的便币.”;cot<<money%10/5«-个5角的慢币,”;cout<<money5«-个IM的硬币"«end1.;return0;(8)设计并实现个银行计算利息的程序.输入为存款:金额和存款年限,输出为存款的本利之和.假设年利率为1.2M计算存款本利之和公式为本金+本金”年利率*存款年限。【解】#inc1.ude<1.oatreaj>usingnamespacestd;intdin<>Iconstdoub1.eRATE-1.2;doub1.eprincipa1.;intyears;cout«”请锹入本金元)和存期(年),c1.n»principa1.»years;principa1.-principa1.-principa1.aRATE*years/100;cout«"你的本利和JSi"«principa1.«end1.;returnO;9编写一个程序注入4个整数,输出它们的平均(ft.程序的执行结果的示例如下:诂输入4个察里款:5796/5796的平均位是6.75【耨】.inc1.ude<1.ostreaj>usingnamc三pacestd;int!ain<>doub1.eavg;intnx三1.rnm2r11um3nm4;cot«”语怆入4个数;w;cin»num1.»nun2»num3»nura4;avg-(num1.÷num2*num3÷num<31/4.0;cout«"4个ti(的平均(ft足:”«avg«end1.;returnO;【1(1】写一个程序,输出在你使用的C+系统中int类里的数据占几个字节,doub1.e类型的数据占几个字节,shortint占几个字节,f1.oat类型占几个字节。【解】#inc1.ude<1.o8tream>usingname三pacc三td;intrain<>(cout<<wintS1.1.1.".zeof(1.nt)<<"个字节"«end1.;cot«”doUbIg里占用了"«sieof(doub1.e)«”个字节"«end1.;cout«,三hortint®1.JIJf"«sizcof(short)<<个字力"«end1.;COUt«-f1.oatKAff1.T-«Sizeof<f1.oaO«”个字节"«end1.;return0;(11)对于一个二维平面上的两个点(乂1y1.)<×2.y2),编一程序计算两点之间的距离。【解】,,einc1.ude<istrean>三inc1.ude<wth>USingnamespacestd;int11ain(doub1.ex1.y1.,x2,y2.distance:cout«”请输入点1的生标:':cin»x1.»y1.;emit«.请嫁人点2的坐标:':cin»x2»y2;distance=sqrt(<x1.-x2)*(x1.-x2)+(y1.-y2)*(y1.-y2);C4t«T«x1.«,*«y1.«*)->«x2«二*«y2«”)的郎肉是:*«distance«end1.;return0:PART三筒答乂1写出测试卜列情况的关系衣达式或龙辑表达式:测试整型变盘n的值在09之间,包含O和9.测试整型变量a的世是否是整型变Iftb的值的一个因子.测试字符变量ch中存储的是一个数字字符.测试整型变革a的值是否是奇数。测试整型变fita的值是否为5.测试整盘变量a的值是否为7的倍数【解】O46n<-9a-0ch>'0'66ch<-'9'a%2-1a-52假设myF1.ag声明为布尔型变量,下面的if语句会有什么向题?if<myF1.ag-true).【制】这个语句的语法和运行结果都是正确的,但有冗余判断.表达式myF1.ag=true的伯与变myF1.ag是一样的,所以只要写成if(myF1.ag)就可以了。【3】Sa-3,b-4,c-5,写出下列各逻辑非达式的假.a. a+b>cib=cb. a|b+c6&b-cc. !(a>b)&4!cd. <a!-b)II(b<c>【懈】a. a÷b>c4Sb««c-true&&fa1.se=fa1.seb. ab¼CA4b-c=true11bc$,b-c-ttuec-!(a>b)&&Ictrue&afa1.se-fa1.sed.<a!-b)11(b<C)-true11(b<c)三true(1用一个if语旬重写下列代眄ifIch=*E*)+÷c;if(ch-rEz)coat«c«end1.;【解】if(ch-zE,)4¼c;cout«c«end1.;或者if<uh三三rEz)cout«÷+c<<end1.;【5】用一个SWitCh语句重写下列代码if(ch、EIICh-/e*)+4countE;e1.seif(ch-/Af11ch,arI÷÷cou11tA;e1.seif(ch-*I*11ch-r1.r>+÷count1.;e1.secout«*error*;【解】switch(ch)<case'E*:case'g':+÷contE;break;caserAr:case'a':4*-countA;break;casefV:case*1.r:-*count1.;break;defau1.t:cout«*error,;)(6如果a-5,b-0,c-1,写出下列表达式的依,以及执行了表达式后变质a、b、c的值:a. aIIb÷-cb.b+c&&ad.a-=5IIb+I-ce.b<a<=c【解】.true/a«5.b-%c三1b. true,a-5.b-Ozc-1c. 0/a-5b-0,c-0d. fa1.se,a0b.1,c»0e. true>a-5.b-0/c-117修改下面的SWitCh语句,使之更简洁.switchIn)case0:n+»×4÷×break;case1:*x;break;case2:*>x;break;case3:j-m+n;×n-2;break;case4:n»2;)解switch(八)case0:n+=x;case1:case2:break;8583:m=m÷n;×case4:n=2;I8某程序需要判断变疑x的值是否介于。到10之间(不包括0和10),程序采用如下语句If(OVXV10>COUt«"成立";e1.secout«”不成立,但无论X的值是多少,程序永远输出“成立”。为什么?解】在计算0<X<10时,由于关系运算符是左结合的,所以先计算0<X,该表达式的结果可能是CrUe也可能是fa1.se.接籽计算(0<x>V1.O时,将0<x的结果转换成整数.UUe转换成1,fa1.se转换成0.0和1部小于10.所以不管0<x的结果是什么,整个表达式的结果都为true。所以该语句永远执行then子句。第3章程序设计Sfi1从犍盘怆入3个整数输出其中的最大值、最小低和平均值.解1!inc1.ude<io三trea11>usingnamespacestd;intj5ain<doub1.eovg;Intnum1.rnum2,num3,max,m1.n;COUt«”请输入三个帙8hw;c1.n»num1.»nm2»nm3;max-mm-num1.;i.f<num2>11a×)rr-sxnum2;if(num2<m1.n)m1.n-num2;if(num3>J1.aX)max-Tnnn3;ifSUIn3<r1.n)m1.n-num3;avg=<num1.+nm2÷nu113I/3.0;cout«"大ffiJ2"«max«end1.;cout«”44小(ft是:',«min«end1.;cout«平均(ft是:m«avg«end1.;returnO;(2编一个程序,输入一个整型数,判断输入的整型数是奇数还是偶数,例如,输入11,输出为:11是奇数【解】inc1.ude<iostrean>usingnamespacestd;intmain<>(Intnum;cout«”请输入,个笠th;c1.n»nuj;cout«num<<(num%2?是奇数“:"是偶eI”I«end1.;returnO;I4有一个函数其定义如下:K<x<I)y=户-I<1x<10)It-I1.(QIo)编一程序输入x怆出y【解】4inc1.d«<iostream>usingnamespacestd;intmain<)(doub1.e×,y;cout«”讲输入x,;cin»×if(×<I1.y=×e1.seif(×<10)y-2e1.sey-3×-11;cout«wy-w<<y«end1.;return0;)【8】编写一个计免播水的程序.某企业有3种工资计算方法:计时工资、计件J1.资和固定月工资.程序首先让用户怆入工资类别.再按照工资类别谕入所需的信息.若为计时工资,则输入工作时间及年小时薪水,若为计件工资,贝输入旬件的报酬和本月完成的件数。若为固定月工资,输入工资额,计算本月应发工资,职工工资需要徼纳个人收入所得税,徼个税的方法是:2000元以下免税:20Q0250Q元拧,超过2Q0。元部分按5¥收税:25004000者.20002500的500元按5*收税,超过2500部分按10%收税:4000元以上者.2000-2500的500元按5%收税.25004000的1500元按IoW收税,超过4000元的部分按15%收税.最后,程序输出职工的应发工资和实发工资。【解】Sinc1.ude<io5;tr<!nn>USinRnamespacestd:inttmin0(chartype:inttine,piece:doub1.esa1.ary,UnitSa1.ary;cout«请选择计时工负CO、计件工资(P)或固定工资(S>s*:cin»type:/计/应发工资switch(type)casefV:/计时工资case,C:cout«'请输人工作时间和小时工资:*;cin»Cim»UnitSa1.ary;sa1.ary=tine*unitSa1.ary:cout«”工作时间e"«tine«小时.本月应发工资为:“«sa1.ary«end1.:break;casetr:/计件工货case,p:cout«"请输入完成改口和华件报*:cin»piece»unitSa!nry;sa1.ary=pieceunitSaIary:cout«”完成件it"«piece«本月应发工资为,'«sa1.ary«end);break;case,S,:固定工资case's':cout«”请输入月工资*;cin»sa1.ary:c<xt«"本月应发工资为:"«sa1.ary«end1.;break;defau1.t:c<ut«°tft误的工资类型!*«end1.:return1:)/计算实发工货doub1.et11p=sa1.ary;if(teip>4(X10)Isa1.ary-=(t11p-4000)拿0.15:t11p三100O;if(UnP>2500)(sa1.ary-=(tmp-2500)*0.1;t11p三2500;Iif(tsp>2000)sa1.ary-=(U3-2000)*0.05;COUt«“本月实发工资为,"«sa1.ary;return0:I【9】编写一个程序,输入一个字母,判断该字母是元音还是辅音字母。用两种方法实现。第一种用if语句实现,第.种用SXiSh语句实现,【解】用if语句列断元音字母的程序#inc1.ude<iostream>usingnamespace8td;intmain<>charch;cot«”浦输入一个字母Iw;cin»ch;if(ch>>,a,八ch<三,)ch-ch-,a,7;/仝部换成大写字母if(ch>zIIch<A)COUt«“11Jy厂'.<end1.;e1.seifCch=,A,11ch=,E11ch=,IeIIch三三O,IIch=U,Icout<<,ttcff«end1.;e1.secout«"J½辅杵"«end1.;return0;阳§心yh语句判断元音字母的印序inc1.ude<1.3treajr>using11ame三pacestd;intmain<>charch;cout«”请输入一个字母:Cin»Ch;if(ch>-,a&&ch<-z,)ch-ch-,a,+,A,;/全f换成大写字母if(ch>,2,IIch<tA')cout«”不Jfe字母-«cnd1.;e1.seswitch(chiIcase'A':case,E,:easeI:case0,:caseP':cout<<是元讦e«end1.;break;defau1.t:cout«是辆*<<end1.;return0;【10褊写一个程序,输入三个非0正物数,判断这三个值是否能够成一个三角形。如果能构成一个三角形,判断这三角形是否是直角三角形.【解】inc1.ude<1.ostream>usingnamespacestd;i11tzin<)(inta,brcrtm;coat«”谙4入三角形的三条边长3";cin»a»b»c;/将三条边长按出战次序排序if(a<b)tmp三a;a»b;b«tmp;)if(a<c)tmp-a;a-c;c-tmp;)/刘三角形if(b4c>a)是三角形if(aa-bb÷cc)cout«-是三角形H为巴珀三角影。<<end1.;e1.secot«”是三"1形"«end1.;e1.secot«”不能构成:角影”«Snd1;return0;【

    注意事项

    本文(《C++程序设计》经典习题(含参考答案).docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开