《C语言程序设计教程(第二版)》李凤霞版 习题答案.doc
《《C语言程序设计教程(第二版)》李凤霞版 习题答案.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计教程(第二版)》李凤霞版 习题答案.doc(41页珍藏版)》请在三一文库上搜索。
1、1 【C语言】C语言程序设计教程(第二版)习题答案 说 明1. 本文所指的C语言程序设计教程(第二版)是李凤霞主编、北京理工大学出版社出版的,绿皮。 2 第1章 程序设计基础知识 一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对问题的分析和模块的划分三、应用题(第24页) 2.源程序:main()int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf(cock hen ch
2、ickn);for(i=1;i=20;i+) for(j=1;j=33;j+) for(k=1;k=33;k+) if (i+j+k*3=100&i*5+j*3+k=100) printf( %d %d %dn,i,j,k*3);执行结果:cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法 源程序:main()long a,b;int i;a=b=1;for(i=1;i=10;i+) /*要计算前30项,把10改为15。*/printf(%8ld%8ld,a,b); a=a+b;b=b+a; 递归法 源程序:main()in
3、t i;for(i=0;i=19;i+)printf(%8d,fib(i);fib(int i)return(i1e-12);printf(%.10fn,x);执行结果:1.3247179572 5.源程序略。(分子、分母均构成斐波那契数列)结果是32.660260798646.源程序:main()int a,b,c,m;printf(Please input a,b and c:);scanf(%d %d %d,&a,&b,&c);if(ab)m=a;a=b;b=m;if(ac)m=a;a=c;c=m;if(bc)m=b;b=c;c=m;printf(%d %d %dn,a,b,c);执行结
4、果:Please input a,b and c:123 456 789789 456 1237.源程序:main()int a;scanf(%d,&a);printf(a%21=0?Yes:No);执行结果:42Yes 3 第2章 C语言概述 一、单项选择题(第34页)1-4.BDCB 5-8.AABC二、填空题(第35页)1.主 2.C编译系统 3.函数 函数 4.输入输出 5.头 6. .OBJ 7.库函数 8.文本三、应用题(第36页)5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、x1234、until、cos2x、s_3是标识符
5、。 8.源程序:main()int a,b,c;scanf(%d %d,&a,&b);c=a;a=b;b=c;printf(%d %d,a,b);执行结果:12 3434 12 4 第3章 数据类型与运算规则 一、单项选择题(第75页) 1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB二、填空题(第77页) 1.补码 2.(10-30810308) 3.int(整数) 4.单目 自右相左 5.函数调用 6.a或b 7.1 8.65,89三、应用题(第78页)1.10 92.执行结果:1100121 5 第4章 顺
6、序结构程序设计 一、单项选择题(第90页)1-5.DCDAD 6-10.BACBB二、填空题(第91页)1.一 ;2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200j=2500 4.a=98,b=765.000000,c=4321.000000 5.略 6.0,0,3 7.3 8.scanf(%lf%lf%lf,&a,&b,&c); 9. 13 13.000000,13.000000 10.a=ac;c=ca;a=ac;(这种算法不破坏b的值,也不用定义中间变量。)三、编程题(第92页)1.仿照教材第27页例2-1。2.源程序:main()
7、int h,m;scanf(%d:%d,&h,&m);printf(%dn,h*60+m);执行结果:9:235633.源程序:main()int a=-10,0,15,34,i;for(i=0;ic&a+cb&b+ca) double s=(a+b+c)/2; printf(SS=%.10lfn,sqrt(s*(s-a)*(s-b)*(s-c);else printf(Data error!);执行结果:4 5 6SS=9.92156741656.源程序:main()int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56;printf(a=%3d,b=%-4d
8、,c=*%dnd=%gne=%6.2fnf=%-10.4f*n,a,b,c,d,e,f);7.源程序:main()int a,b,c,m;scanf(%d %d %d,&a,&b,&c);m=a;a=b;b=c;c=m;printf(%d %d %dn,a,b,c);执行结果:5 6 76 7 58.源程序:main()int a,b,c;scanf(%d %d %d,&a,&b,&c);printf(average of %d,%d and %d is %.2fn,a,b,c,(a+b+c)/3.);执行结果:6 7 9average of 6,7 and 9 is 7.339.不能。修改后
9、的源程序如下:main()int a,b,c,x,y;scanf(%d %d %d,&a,&b,&c);x=a*b;y=x*c;printf(a=%d,b=%d,c=%dn,a,b,c);printf(x=%d,y=%dn,x,y); 6 第5章 选择结构程序设计 一、单项选择题(第113页)1-4.DCBB 5-8.DABD二、填空题(第115页)1.非0 0 2.k=03.if (abs(x)4) printf(%d,x);else printf(error!);4.if(x=1&x=200&xb?bc?c:b:ac?c:a);2.源程序:main()unsigned long a;sca
10、nf(%ld,&a);for(;a;printf(%d,a%10),a/=10);执行结果:12345543213.(1)源程序:main()int x,y;scanf(%d,&x);if (x-5&x=0&x=5&x10)y=x+1;printf(%dn,y);(2)源程序:main()int x,y;scanf(%d,&x);if(x-5) if(x=0) if(x=5)y=x+1; else y=x-1; else y=x;printf(%dn,y);(3)源程序:main()int x,y;scanf(%d,&x);if(x=5)y=x+1; else if(x=0)y=x-1; el
11、se if(x-5)y=x;printf(%dn,y);(4)源程序:main()int x,y;scanf(%d,&x);switch(x/5)case -1:if(x!=-5)y=x;break; case 0:y=x-1;break; case 1:y=x+1;printf(%dn,y);4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。现给出Delphi源程序和C+ Builder源程序。Delphi源程序:procedure TForm1.Button1Click(Sender: TObject);beginedit3.Text:=format(%.0f天,str
12、todate(edit2.text) -strtodate(edit1.text);end;procedure TForm1.FormCreate(Sender: TObject);beginEdit2.Text:=datetostr(now);button1click(form1)end;C+ Builder源程序:void _fastcall TForm1:Button1Click(TObject *Sender)Edit3-Text=IntToStr(StrToDate(Edit2-Text)-StrToDate(Edit1-Text)+天;void _fastcall TForm1:F
13、ormCreate(TObject *Sender)Edit2-Text=DateToStr(Now();Button1Click(Form1);执行结果:(运行于Windows下) http:/ 5.源程序:main()unsigned a,b,c;printf(请输入三个整数:);scanf(%d %d %d,&a,&b,&c);if(a&b&c&a=b&a=c)printf(构成等边三角形n); else if(a+bc&a+cb&b+ca) if(a=b|a=c|b=c)printf(构成等腰三角形n); else printf(构成一般三角形n); else printf(不能构成三
14、角形n);执行结果:请输入三个整数:5 6 5构成等腰三角形6.源程序:main()int x,y;scanf(%d,&x);if(x20)y=1;else switch(x/60)case 0:y=x/10;break; default:y=6;printf(x=%d,y=%dn,x,y);7.源程序:main()unsigned m;float n;scanf(%d,&m);if(m600)n=0.06; else n=(m/100+0.5)/100;printf(%d %.2f %.2fn,m,m*(1-n),m*n);执行结果: 450450 429.75 20.258. 2171天(
15、起始日期和终止日期均算在内) 本题可利用第4小题编好的程序进行计算。把起始日期和终止日期分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得到的天数再加上1天即可。9.源程序:#include math.h;main()unsigned long i;scanf(%ld,&i);printf(%ld %dn,i%10,(int)log10(i)+1);执行结果:998877 510.源程序:main()unsigned long i;unsigned j10,m=0;scanf(%ld,&i);for(;i;)jm+=(i+2)%10;i/=10;for(;m;m-)i=i*10+jm
16、-1;printf(%ldn,i);执行结果: 6987 8109(注:要加密的数值不能是0或以0开头。如果要以0开头需用字符串而不能是整数。) 7 第6章 循环结构程序设计 一、单项选择题(第142页)1-4.BCCB 5-8.CBCA二、填空题(第143页)1.原题可能有误。如无误,是死循环 2.原题有误。如果把b=1后面的逗号改为分号,则结果是8。 3.20 4.11 5. 2.400000 6.*#*#*#$ 7.8 5 2 8.d=1.0 +k k=0 xamin三、编程题(第145页)1. 源程序:main()int i=1,sum=i;while(i101)sum+=i=-i-2
17、;sum+=i=-i+2;printf(%dn,sum);执行结果:512.源程序:main()double p=0,n=0,f;int i;for(i=1;i0)p+=f; else n+=f; printf(%lf %lf %lfn,p,n,p+n);3.源程序:main()unsigned a;scanf(%ld,&a);for (;a;printf(%d,a%10),a/=10);printf(b n);执行结果:234566,5,4,3,24.源程序:main()unsigned long a,b,c,i;scanf(%ld%ld,&a,&b);c=a%1000;for(i=1;ib
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计教程第二版 C语言程序设计教程第二版李凤霞版 习题答案 语言程序设计 教程 第二 李凤霞版 习题 答案
链接地址:https://www.31doc.com/p-10625636.html