《c语言程序设计》复习题库_答案

《c语言程序设计》复习题库_答案

ID:17644251

大小:171.50 KB

页数:29页

时间:2018-09-04

《c语言程序设计》复习题库_答案_第1页
《c语言程序设计》复习题库_答案_第2页
《c语言程序设计》复习题库_答案_第3页
《c语言程序设计》复习题库_答案_第4页
《c语言程序设计》复习题库_答案_第5页
资源描述:

《《c语言程序设计》复习题库_答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m!当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717#includefloatjc(floatx){floatjc=1,i;for(i=1;i<=x;i++)jc=jc*i;returnjc;}voidmain(){floatjc(floatx);floatm,t=0,i;printf("PleaseInput:");scanf("%f",&m);for(i=1;i<=m;i++)t=t+1/jc(i);printf(

2、"t=%.3f",t);}2、程序填空:用*号输出字母C的图案。#include"stdio.h"#include"conio.h"main(){_printf("***");__  printf("*");printf("*");printf("***");  getch();}3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!)答案:1533459#inclu

3、delongf(longx){longs=0;if(x%2!=0){while(x>0){s=s+x%10;x=x/10;}if(s%15==0)return1;elsereturn0;}elsereturn0;}voidmain(){longf(longx);longi,sum=0;for(i=1000;i<=9999;i++)if(f(i))sum=sum+i;printf("sum=%ld",sum);}4、下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程

4、序运行的正确结果。(注:只有一处错误!)答案:6591#includevoidmain(){inttotal=0,mc=1,k=700;//改为:inttotal=0,mc=0,k=700;intpm[10],count=0;while((k>=2)&&mc<=10){if((k%13==0)

5、

6、(k%17==0)){pm[mc]=k;mc++;}k--;}for(k=1;k<=10;k++)total+=pm[k-1];printf("%d",total);}5、求x=1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于1

7、0-5为止。#include#includemain(){inti;doublex;x=1;i=5;do{x=x+1/(double)i;i=i+2;}while(fabs(1/(double)i)>1e-5);printf("%.2lf",x);}输出:6.0586、计算如下公式的A20值。A1=1,A2=1/(1+A1),A3=1/(1+A2),A4=1/(1+A3),......(按四舍五入保留10位小数)。答案:0.6180339850(1)可用递归:1n=1F(n)=1/(1+f(n-1))n>1#includ

8、edoublef(doublen){doublea;if(n==1)a=1;elsea=1.0/(1+f(n-1));returna;}voidmain(){doublef(doublen);printf("f(20)=%.10lf",f(20));}(2)不用递归:#includevoidmain(){doublei,c,a=1,b=1,x;for(i=1;i<20;i++){c=a;a=b;b=c+b;}x=a/b;printf("x=%.10lf",x);}7、求[10,1600]之间能被7整除的奇数之和。答

9、案:90965(1)用函数可写成:#includeintjx(intx){if(x%2!=0)return1;elsereturn0;}intf(intx){if(jx(x))if(x%7==0)return1;elsereturn0;elsereturn0;}voidmain(){intjx(intx);intf(intx);inti,s=0;for(i=10;i<=1600;i++)if(f(i))s=s+i;printf("s=%d",s);}(2)不用函数可写成:#includevoidmain(){intjx

10、(intx);intf(intx);inti,s=0

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

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

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