2022年面向对象程序设计山师第五章习题答案 .docx





《2022年面向对象程序设计山师第五章习题答案 .docx》由会员分享,可在线阅读,更多相关《2022年面向对象程序设计山师第五章习题答案 .docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_一、挑选填空第五章习题答案可编辑资料 - - - 欢迎下载精品_精品资料_1、A 2 、D 3 、B 4 、 D 5 、D6 、C 7 、C 8 、D 9 、C 10 、A11 、B 12 、C13、A 14、D 15 、C二、判定以下描述的正确性,对者划,错者划.1、 2、 3、 4、 5、 6、 7、 8、 9、 10、11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 三、分析以下程序的输出结果.1、运行该程序输出如下结果.5811142、运行该程序输出如下结果.253、该程序输出如下结果.10+2+1=1320+2+2=2430+2+3=35
2、40+2+4=464、运行该程序的输出结果如下所示.6, 115、运行该程序输出如下结果.5; +4 ;+3; +2;+1 ; =1536、运行该程序输出如下结果.6,6,67、运行该程序输出如下结果.sum 1=13sum 2=18sum 3=238、运行该程序输出如下结果.7209、运行该程序输出如下结果: a=5,b=8a=8,b=510、运行该程序输出结果如下所示.1011、运行该程序输出结果如下所示.ffdouble:88.18ffint:9712、运行该程序输出结果如下所示.112可编辑资料 - - - 欢迎下载精品_精品资料_1231234四、按以下要求编程,并上机验证.1、分析
3、:该程序有3 个函数: main,sum 和 average.主函数 main 中包含有如下操作:输入15 个浮点数放在一个数组中,使用循环语句从键盘上输入值,接着分别调用sum函数求 15 个浮点数之和,调用average函数求 15 个浮点数的平均值,最终将15 个浮点数的和值与平均值输出显示.程序如下:#include double s, sumdouble b,int n,averageint n .void main double a15 .cout ” Input 15 doubles:.”forint i=0 .iai .s=suma,15.double ave=average1
4、5 .cout ” SUM=” s , AVE”RAGE= ” aveendl.double sumdouble b,int ndouble sum=0 .forint i=0 .i15 .i+ sum+=bi .return sum.double averageint nreturn s/n.2、分析:先将 10 个 int 型数从键盘上输入,并放在一个int 型数组中.接着,在数组中将重复的数组元素去掉.其方法是在比较中发觉有重复的就用数组中最末元素替换,同时更新数组元素个数.最终,将数组中的元素使用排序函数sort进行排序,并输出显示最终排好序的数组元素.排序函数 sort 是根据 “冒
5、泡 ”排序的算法进行编程的.程序的内容如下所示.#include void mainint a10,n=10 .void sortint b ,int n.cout ” Input 10integer.:”forint i=0 .iai .fori=0 .in . i+forint j=i+1 . jn .j+ ifai=ajaj=a- -n .j- .sorta,n.fori=0 .in .i+ coutai ”.”cout ”n”.void sortint b ,int nforint i=1 .in .i+ forint j=0 .jn-i .j+ifbjbj+1int t=bj .bj
6、=bj+1.bj+1=t .3、分析:该程序将包含一个主函数和两个被调函数:一个是运算某一年是否是闰年的函数 leap, 另一个是运算日期的函数sum_day.主函数中,先从键盘上输入某天的年、月、日,存放在相应的变量year, month 和 day中.接着,调用 sum_day 函数,运算出这一天是该年的第几天,运算时按非闰年运算,即2 月份 28 天.然后,再判定该年是否是闰年,并且该月是否是大于2 月.假如是闰年,且月份又大于 2 月,就运算的天数加1.最终将其结果输出显示.运算闰年的函数leap是根据闰年的定义,使用规律表达式返回.闰年时返回1,否就返回 0.指定的每月的总天数的数组
7、进行相加运算,这时2 月份按 28 天运算,将每月天数存放在一个数组中,使该数组的下标与月份数相同.例如,5 月 4 日,运算天数时如下所示.days_month1+days_month2+days_month3+days_month4+4.并将这个表式值返回.程序内容如下所示.#include int sum_dayint,int,leapint.void mainint year,month,day .coutyearmonthday .int days=sum_daymonth,day .ifleapyear&month2 days+.cout 是这一年的第 days 天n.int su
8、m_dayint month,int daystatic int days_month13=0,31,28,31,30,31,30,31,31,30,31,30,31.forint i=1 .imonth . i+ day+=days_monthi .return day.int leapint yearint leap=year%4=0&year%100.=0|year%400=0.return leap.当输入为 1998 年 4 月 7 日时,输出信息如下所示.请输入一个日期( yyyy mm dd ) :1998 4 7是这一年的第97 天.4、#include #include vo
9、idfunchar.void main char s80 .couts .cout ”反序前 : ” sendl .funs .cout ”反序后 : ” sendl .void funchar ssint n=strlenss .forint i=0 .in/2 .i+char c=ssi .ssi=ssn-1-i .ssn-1-i=c .可编辑资料 - - - 欢迎下载精品_精品资料_该程序输出如下信息.请输入一个字符串: abcdefgh输出结果如下所示.反序前: abcdefgh 反序后: hgfedcba5、分析:由于十六制数的表示中,除了有数字09,仍有 6 个字母 a,b,c,d
10、,e,f.因此输入十六进制数时,应采纳char 型,将它存放在一个字符数组中.然后,调用一个转换函数htoi ,将输入的字符型数组中的十六进制数转换为十进制的.在转换函数中,应考虑到下述 3 类不同字符的转换方法:( 1)数字字符 0至9.( 2)小写字母 a至f.( 3)大写字母 A至F.程序内容如下所示.#include int htoichar .void main int htoichars .cout ”输入一个十六进制数 : ”.char s120=.” ”cin.reads1,20 .coutendl .int n=htois1 .cout ”该数转换为十进制数 ” n= 0&s
11、i= a&si= A&si=F n=n*16+si- A+10.return n .6、#include char*fun1int.int fun2 .char s10 .可编辑资料 - - - 欢迎下载精品_精品资料_void main int number .coutnumber .cout ”整型数加空格后为: ” fun1numberendl .cout ”加空格后字符串长度为: ” fun2endl .char *fun1int nint a5 .a4=n%10 .a3=n/10%10 .a2=n/100%10 .a1=n/1000%10 .a0=n/10000 .forint i=
12、0,j=0.i5 .i+,j+=2sj=charai+. 0可编辑资料 - - - 欢迎下载精品_精品资料_sj+1=.可编辑资料 - - - 欢迎下载精品_精品资料_sj- 1= 0. return s.int fun2int n=0,i=0 .whilesi+ n+ .return n.运行该程序显示如下信息:输入一个 5 位的整型数: 87654输出结果如下所示:整型数加空格后为: 8 7 6 5 4加空格后字符串长度为:97、分析:第一定义一个char 型数组 name5 10 用来存放 5 个同学的姓名,再定义一个 int 型数组 score5 4 来存放 5 个同学的 4 门功课成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年面向对象程序设计山师第五章习题答案 2022 面向 对象 程序设计 第五 习题 答案

限制150内