预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第五章习题答案一、选择填空1、A2、D3、B4、D5、D6、C7、C8、D9、C10、A11、B12、C13、A14、D15、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=3540+2+4=464、运行该程序的输出结果如下所示。6,115、运行该程序输出如下结果。5!+4!+3!+2!+1!=1536、运行该程序输出如下结果。6,6,67、运行该程序输出如下结果。sum1=13sum2=18sum3=238、运行该程序输出如下结果。7209、运行该程序输出如下结果:a=5,b=8a=8,b=510、运行该程序输出结果如下所示。1011、运行该程序输出结果如下所示。ff(double):88.18ff(int):9712、运行该程序输出结果如下所示。1121231234四、按下列要求编程,并上机验证。1、分析:该程序有3个函数:main(),sum()和average()。主函数main()中包含有如下操作:输入15个浮点数放在一个数组中,使用循环语句从键盘上输入值,接着分别调用sum()函数求15个浮点数之和,调用average()函数求15个浮点数的平均值,最后将15个浮点数的和值与平均值输出显示。程序如下:#include<iostream.h>doubles,sum(doubleb[],intn),average(intn);voidmain(){doublea[15];cout<<”Input15doubles:”;for(inti=0;i<15;i++)cin>>a[i];s=sum(a,15);doubleave=average(15);cout<<”SUM=”<<s<<’,’<<”AVERAGE=”<<ave<<endl;}doublesum(doubleb[],intn){doublesum=0;for(inti=0;i<15;i++)sum+=b[i];returnsum;}doubleaverage(intn){returns/n;}2、分析:先将10个int型数从键盘上输入,并放在一个int型数组中。接着,在数组中将重复的数组元素去掉。其方法是在比较中发现有重复的就用数组中最末元素替换,同时更新数组元素个数。最后,将数组中的元素使用排序函数sort()进行排序,并输出显示最后排好序的数组元素。排序函数sort()是按照”冒泡”排序的算法进行编程的。程序的内容如下所示。#include<iostream.h>voidmain(){inta[10],n=10;voidsort(intb[],intn);cout<<”Input10integer:”;for(inti=0;i<n;i++)cin>>a[i];for(i=0;i<n;i++){for(intj=i+1;j<n;j++)if(a[i]==a[j]){a[j]=a[--n];j--;}}sort(a,n);for(i=0;i<n;i++)cout<<a[i]<<””;cout<<”\n”;}voidsort(intb[],intn){for(inti=1;i<n;i++)for(intj=0;j<n-i;j++)if(b[j]<b[j+1]){intt=b[j];b[j]=b[j+1];b[j+1]=t;}}3、分析:该程序将包含一个主函数和两个被调函数:一个是计算某一年是否是闰年的函数leap(),另一个是计算日期的函数sum_day()。主函数中,先从键盘上输入某天的年、月、日,存放在相应的变量year,month和day中。接着,调用sum_day()函数,