C语言程序设计 江宝钏 著 清华大学出版社 第6章参考答案.docx
- 文档编号:428049
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:15
- 大小:18.24KB
C语言程序设计 江宝钏 著 清华大学出版社 第6章参考答案.docx
《C语言程序设计 江宝钏 著 清华大学出版社 第6章参考答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计 江宝钏 著 清华大学出版社 第6章参考答案.docx(15页珍藏版)》请在冰豆网上搜索。
C语言程序设计江宝钏著清华大学出版社第6章参考答案
习题6
一、程序阅读题
1、以下程序运行后的输出结果是c。
#include
voidfun(intx,inty,intz)
{
z=x*x+y*y;
}
voidmain()
{
inta=31;
fun(5,2,a);
printf("%d",,a);
}
A、0B、29C、31D、无定值
2、以下程序运行后的输出结果是d。
#include
voidf(intx,inty)
{
intt;
if(x } voidmain() { inta=4,b=3,c=5; f(a,b);f(a,c);f(b,c); printf("%d,%d,%d\n",a,b,c); } A、3,4,5B、5,3,4C、5,4,3D、4,3,5 3、以下程序运行后的输出结果是a。 #include"stdio.h" #defineFUDGE(y)2.84+y #definePR(a)printf("%d",(int)(a)) #definePRINT1(a)PR(a);putchar('\n') voidmain() { intx=2; PRINT1(FUDGE(5)*x); } A、12B、14C、16D、18 4、以下程序的输出结果是d。 #include intk=1; voidmain() {voidFun(); intj; for(j=0;j<2;j++) Fun(); printf("k=%d",k); } voidFun() {intk=1; printf("k=%d,",k); k++; } A、k=1,k=2,k=3B、k=1,k=2,k=1C、k=1,k=1,k=2D、k=1,k=1,k=1 5、以下程序的输出结果是d。 #include"stdio.h" intf() { staticinti=0; ints=1; s+=i;i++; returns; } voidmain() { inti,a=0; for(i=0;i<5;i++)a+=f(); printf("%d\n",a); } A、20B、24C、25D、15 6、以下程序的输出结果是b。 #include intf(intn) {if(n==1)return1; elsereturnf(n-1)+1; } voidmain() { inti,j=0; for(i=1;i<3;i++)j+=f(i); printf(“%d\n”,j); } A、4B、3C、2D、1 二、程序填空题 1、计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。 #include #include floatf(float,float); voidmain﹙﹚ { floatx,y,z,sum; scanf(“%f%f%f“,&x,&y,&z); sum=f(b)+f(c); printf(“sum=%f\n”,sum); } floatf(floata,floatb) { floatvalue; value=a/b; return(value); } A、x-y,x+yB、x+y,x-yC、z+y,z-yD、z-y,z+y A、x-y,x+yB、x+y,x-yC、z+y,z-yD、z-y,z+y 2、输入1个实数m,根据以下公式,计算机满足精度m要求的π值, π/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)* (4/9)+… #include #include doublepi(doublep) { doubles,t; intn; for(b;t>p;n++) { s+=t; t=n*t/(2*n+1); } return(c); } voidmain() { doublem; printf("\nPleaseenteraprecision: "); scanf("%f"&m); printf("\nep=%f,π=%f",m,pi(m)); } A、n=1B、n=1,s=0,t=1C、n=1,s=0D、n=1,s=0,t=0 A、tB、sC、2*sD、2*t 3、输入1个正整数n,计算并输出s的前n项的和。 s=1/2-2/3+3/4-4/5+……(-1)n-1n/(n+1) #include voidmain() {intn; floatfun(intn); scanf("%d",&n); printf("sum=%f\n",fun(n)); } floatfun(intn) { intk,flag=1; floats=0; for(k=1;k<=n;k++){ s=s+a; c; } A、1.0*k/(k+1)*flagB、flag*n/(n+1)C、-k/(k+1)D、1.0*k/(k+1) A、flag=-1B、s=-sC、flag=-flagD、k=-k 4、输入一个整数,将它逆序输出。 例如reverse(123)的返回值是321。 #include voidmain() {longn; longreverse(longnumber); printf("Enteraninteger: "); scanf("%ld",&n); printf("Afterreversed: %ld\n",c); } longreverse(longnumber) {intflag; c; flag=number<0? -1: 1; if(b)number=-number; while(number! =0){ res=b; number/=10; } returnflag*res; } A、reverse()B、nC、reverse(n)D、reverse A、res=0B、longresC、longres=0D、res A、number>0B、number<0C、number! =0D、number==0 A、number%10B、res*10+number%10C、number/10D、res*10+number/10 5、设有以下程序,为使之正确运行,请填入应包含的命令行。 其中,tryme()函数在 d: \myfile1.c中有定义。 #include ______a_____________ main() { printf("\n"); tryme(); } A、#include"d: \myfile1.c"B、#include"myfile1.c" 6、求1元2次方程ax2+bx+c=0的实根。 #include #include floatx1,x2; intf(floata,floatb,floatc) {if(b*b-4*a*c<0)return1; x1=(-b+sqrt(b*b-4*a*c))/2/a; x2=(-b-sqrt(b*b-4*a*c))/2/a; ____a_______ } voidmain() {floata,b,c; scanf("%f,%f,%f",&a,&b,&c); if(______b________)printf("实数范围内无解\n"); elseprintf("%.2f%.2f\n",x1,x2); } A、return0;B、return1; A、f(a,b,c)==0B、f(a,b,c)==1 7、验证哥德巴赫猜想: 任何一个大于6的偶数均可表示为两个素数之和。 例如6=3+3, 8=3+5,…,18=7+11。 将6~100之间的每个偶数都表示成两个素数之和。 #include"stdio.h" #include"math.h" voidmain() {inti,k; intprime(intm); for(i=6;i<=100;i=i+2) for(k=3;k<=50;k++) if(c){ printf("%d=%d+%d\n",i,k,i-k); break; } } intprime(intm) {intk,n; 1 1111...1 23 n k s =kn =Σ=++++ if(m==1)return0; n=(int)sqrt(m); for(k=2;k<=n;k++) b; b; } A、prime(i)B、prime(i)&&prime(k)C、prime(k)&&prime(i-k)D、prime(k) A、if(m%k! =0)return0B、if(m%k==0)return0 C、if(m%k==0)return1D、if(m%k! =0)return1 A、return0;B、return1;C、elsereturn0;D、elsereturn1; 三、编程题 1、编写程序输出一张摄氏-华氏温度转换表,摄氏温度的取值区间是[-100℃,100 ℃],温度间隔10℃。 要求定义和调用函数ctof(c),将摄氏温度C转换为华氏温度F,计 算公式: F=32+C*9/5。 2、编写程序计算排列数 ()! ! mn Pnm m− =。 要求定义并调用函数fact(n)计算n的阶乘。 3、编写程序计算并输出的值。 要求定义并调用 函数total(n)计算1+1/2+1/3+……+1/n。 4、编写程序计算a+aa+aaa+aaa(n个a)之和。 要求定义并调用函数fn(a,n), 它的功能是返回aaa(n个a)。 例如,fn(3,2)的返回值是33。 5、编写程序求两个整数相除的余数。 要求用带参的宏来实现。 6、编写程序从3个输入的整数中找出最大数。 要求用带参的宏来实现。 7、编写程序找出并输出11至999之间的数m,它满足m、m*m、m*m*m均为回文数。 所谓回文数是指各位数字左右对称,例如121、676等。 要求定义并调用函数JSValue(m)实 现此功能,如果是回文数,则函数返回1,反之则返回0。 8、编写程序输出m和n之间所有的Fibonacci数。 要求定义并调用函数fib(n), 它的功能是返回第n项Fibonacci数。 例如,fib(7)的返回值是13。 9、编写程序找
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 江宝钏 清华大学出版社 第6章参考答案 语言程序设计 参考答案