大学生c语言程序设计(第四版谭洪强)实验7答案

大学生c语言程序设计(第四版谭洪强)实验7答案

ID:32187151

大小:40.00 KB

页数:3页

时间:2019-02-01

大学生c语言程序设计(第四版谭洪强)实验7答案_第1页
大学生c语言程序设计(第四版谭洪强)实验7答案_第2页
大学生c语言程序设计(第四版谭洪强)实验7答案_第3页
资源描述:

《大学生c语言程序设计(第四版谭洪强)实验7答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验七参考答案(参考答案)(1)(sy7-1.c)请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。例如,若主函数从键盘给n输入20后,则输出为s=0.583333。注意:n的值要求不大于100。算法分析:使用for循环i,遍历n包含n以内的所有整数,逐一判断每个i,是否满足条件(能被5或9整除),如果满足,则把它的倒数累加到累加器里。注意:i的倒数要表示成:1.0/i;参考子函数如下:doublefun(intn){doublesum=0;inti;for(i=5;i<=n;i++)if(i%5==0

2、

3、i%9==0)sum=sum+1.0/i;r

4、eturnsum;}(2)(sy7-2.c)请编写函数fun,其功能是:根据以下公式计算s,并计算结果作为函数值返回,n通过形参传入。例如:若n的值为11时,函数的值为1.83333算法分析:等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i;一共有n项;求出每项的分母,然后把每项进行累加。参考子函数如下:floatfun(intn){floatsum=1;//sum中已经累加了第一项的值inti,m=1;//m表示每项的分母;for(i=2;i<=n;i++){m=m+i;sum=sum+1.0/m;}returnsum;}(3)(sy7-3.c)请编写函数fun,其功能是:将两个

5、两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。例如,当a=45,b=12,调用该函数后,c=5241。算法分析:对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。参考子函数如下:longfun(inta,intb){longc=0;c=a%10*1000+a/10*10+b/10+b%10*100;returnc;}(4)(sy7-4.c)请编一个函数fun,函数的功能是使实型数保留2位小数,并对

6、第三位进行四舍五入(规定实型数为正数)。例如:实型数为1234.567,则函数返回1234.570000;实型数为1234.564,则函数返回1234.560000。算法分析:先把这个数乘以100,然后再加0.5(实现四舍五入),再把这个数存放到一个长整型变量中,目的是把小数点后的小数去除,最后把这个数转换成浮点型数除以100,即可得出所的结果。参考自定义函数如下:floatfun(floath){longw;w=h*100+0.5;return(float)w/100;}(5)(sy7-5.c)请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n

7、(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。算法分析:首先应求出w的位数,有一位,i就乘以10(如果有4位,i就等于10000);然后通过求模运算舍弃最高位;参考子函数如下:unsignedfun(unsignedw){inti=1;//i用来存放整数的位数intj;intn=w;while(n){n=n/10;i=i*10;}i=i/10;w=w%i;returnw;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。