《面向对象程序设计 C++山师 第五章习题答案.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计 C++山师 第五章习题答案.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向对象程序设计 C+ 山师 第五章习题答案 第五章习题答案 一、选择填空 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、
2、运行该程序的输出结果如下所示。 6,11 5、运行该程序输出如下结果。 5!+4!+3!+2!+1!=153 6、运行该程序输出如下结果。 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 12 123 1234 四、按下列要求编程,并上机验证。 1、分析:该程序有3个函数:ma
3、in(),sum()和average()。主函数main()中包含有如下操作:输入15个浮点数放在一个数组中,使用循环语句从键盘上输入值,接着分别调用sum()函数求15个浮点数之和,调用average()函数求15个浮点数的平均值,最后将15个浮点数的和值与平均值输出显示。 程序如下: #include double s, sum(double b,int n),average(int n); void main( ) double a15; coutai; s=sum(a,15); double ave=average(15); coutai; for(i=0;iyearmonthday;
4、 int days=sum_day(month,day); if(leap(year)&month2) days+; couts; cout=0&si=a&si=A&sinumber; cout1)。然后,调用转换函数convert()将n 位整数转换成字符串,其长度为n。 转换函数convert()定义为递归函数。递归条件如下所示。 if(a=n/10)!=0) convert(a); 其中,是一个待处理的为整数,是一个型变量。当是1位整数时,体将不被执行。当为2位整数时,执行体,这时为1位整数。依次类推。 程序内容如下所示。 #include void main() int num; vo
5、id convert(int); coutnum; cout=6),将它表示为i与j之和。n=i+j;当i和j都为素数时则为所求。 程序内容如下所示。 #include int prime(int); void main( ) int prime(int); int n; coutn; int i,j; cout”两个素数之和的全部可能n ”; for(i=2;in;i+) j=n-i; if(prime(i)&prime(j) cout”N=”i+jendl; int prime(int n) int j=2; while(n%j!=0) j+; if(n=j) return 1; else return 0; 运行该程序输出下列信息。 输入一个大于等于6的偶数:126 输出结果如下所示。 两个素数之和的所有可能: N=13+133 N=17+109 N=19+107 N=23+103 N=29+97 N=37+89 N=43+83 N=47+79 N=53+73 N=59+6 13、 #include char_count(char *s,char letter) int count=0; while(*s) if(*s+=letter) count+; return (count); void main()