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