面向对象程序设计C++山师第五章习题答案.docVIP

面向对象程序设计C++山师第五章习题答案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计C++山师第五章习题答案.doc

第五章习题答案 一、选择填空 1、A 2、D 3、B 4、D 5、D 6、C 7、C 8、D 9、C 10、A 11、B 12、C 13、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、运行该程序输出如下结果。5 8 11 14 2、运行该程序输出如下结果。25 3、该程序输出如下结果。10+2+1=13 20+2+2=24 30+2+3=35 40+2+4=46 4、运行该程序的输出结果如下所示。6,11 运行该程序输出如下结果。5!+4!+3!+2!+1!=153运行该程序输出如下结果。6,6,6 7、运行该程序输出如下结果。sum 1=13 sum 2=18 sum 3=23 8、运行该程序输出如下结果。720 9、运行该程序输出如下结果:a=5,b=8 a=8,b=5 10、运行该程序输出结果如下所示。10 11、运行该程序输出结果如下所示。ff(double):88.18 ff(int):97 12、运行该程序输出结果如下所示。 1、分析:该程序有3个函数:main(),sum()和average()。主函数main()中包含有如下操作:输入15个浮点数放在一个数组中,使用循环语句从键盘上输入值,接着分别调用sum()函数求15个浮点数之和,调用average()函数求15个浮点数的平均值,最后将15个浮点数的和值与平均值输出显示。程序如下: #includedouble s, sum(double b[],int n),average(int n); void main( ) { double a[15]; cout”Input 15 doubles:”; for(int i=0;i15;i++) cina[i]; s=sum(a,15); double ave=average(15); cout”SUM=”s’,’”AVERAGE=”aveendl; } double sum(double b[],int n) { double sum=0; for(int i=0;i15;i++) sum+=b[i]; return sum; } double average(int n) { return s/n; } 2、分析:先将10个int型数从键盘上输入,并放在一个int型数组中。接着,在数组中将重复的数组元素去掉。其方法是在比较中发现有重复的就用数组中最末元素替换,同时更新数组元素个数。最后,将数组中的元素使用排序函数sort()进行排序,并输出显示最后排好序的数组元素。 排序函数sort()是按照“冒泡”排序的算法进行编程的。 程序的内容如下所示。 #includevoid main() { int a[10],n=10; void sort(int b[ ],int n); cout”Input 10integer:”; for(int i=0;in;i++) cina[i]; for(i=0;in;i++) { for(int j=i+1;jn;j++) if(a[i]==a[j]) { a[j]=a[- -n]; j--; } } sort(a,n); for(i=0;in;i++) couta[i]””; cout”\n”; } void sort(int b[ ],int n) { for(int i=1;in;i++) for(int j=0;jn-i;j++) if(b[j]b[j+1]) { int t=b[j]; b[j]=b[j+1]; b[j+1]=t; } } 3、分析:该程序将包含一个主函数和两个被调函数:一个是计算某一年是否是闰年的函数leap(),另一个是计算日期的函数sum_day()。 主函数中,先从键盘上输入某天的年、月、日,存放在相应的变量year,month和day中。接着,调用sum_day()函数,计算出这一天是该年的第几天,计算时按非闰年计算,即2月份28天。然后,再判断该年是否是闰年,并且该月是否是大于2月。如果是闰年,且月份又大于2月,则计算的天数加1。最后将其结果输出显示。 计算闰年的函数 leap()是按照闰年的定义,使用逻辑表达式返回。闰年时返回1,否则返回0。 指定的每月的总天数的数组进行相加计算,这时2月份按28天计算,将每月天数存放在一个数组中,使该数组的下标与月份数相同。例如,

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档