C语言程序设计王新萍各章课后复习题答案.docx

上传人:lao****ou 文档编号:214592 上传时间:2023-05-29 格式:DOCX 页数:12 大小:21.59KB
下载 相关 举报
C语言程序设计王新萍各章课后复习题答案.docx_第1页
第1页 / 共12页
C语言程序设计王新萍各章课后复习题答案.docx_第2页
第2页 / 共12页
C语言程序设计王新萍各章课后复习题答案.docx_第3页
第3页 / 共12页
C语言程序设计王新萍各章课后复习题答案.docx_第4页
第4页 / 共12页
C语言程序设计王新萍各章课后复习题答案.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言程序设计王新萍各章课后复习题答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计王新萍各章课后复习题答案.docx(12页珍藏版)》请在第一文库网上搜索。

1、附录H各章复习题参考答案第一章1. C 2. C 3. C 4. D 5. C6 .答:C语言的主要特点有:(1) C语言简洁、紧凑,使用方便、灵活。C语言共有32个关键字,9种控制语句,程序 书写形式自由。(2)数据类型丰富。C语言的数据类型有:整型、实型、字符型、数组、指针、结构体、 共用体等。能用来实现各种更杂的运算。(3)运算符丰富。C语言有多达40余种运算符。丰富的数据类型与众多的运算符相结合, 使C语言具有表达灵活和效率高的优点。(4)可移植性好。用C语言写的程序基本上不做修改就能运行于各种型号的计算机和各种 操作系统。(5)能直接操纵硬件。C语言能实现汇编语言的大部分功能,可以直

2、接对硬件进行操作。 这是其它高级语言所不能的。7 .答:上机运行C语言程序的一般步骤有:(1)启动Turbo C,进入集成开发环境。(2)编写(或修改)源程序。(3)编译。若编译成功,则进行下一步操作;否则,返回(2)修改源程序,并重新编译, 直到编译成功。(4)连接。若连接成功,则进行下一步操作;否则,根据错误提示进行修改,并重新连接, 直到连接成功。(5)运行。通过观察结果验证程序的正确性。若出现逻辑错误,则返回(2)修改源程序, 并重新编译、连接和运行,直到程序正确。(6)退出TUrbo C集成开发环境。第二章1. C 2. B 3. B 4. D 5. C 6. C 7. D 8. B

3、 9. D 10. C11 .答:(1) 2.5 (2) 3.512 .答:9, 11,9, 1013 .答:字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符组成, 用双引号把它们括起来,存储时自动在字符串最后加一个结束符0。第三章I . D 2. C 3. D 4. C 5. C 6. C 7. C 8. D 9. A 10. BII .答:不能,程序修改如下:!include stdio. hmain()int a , b, c , x , y;SCanf ( %d , %d , %d , & a , &b , &c);x = a*b ;y = x*c;printf (z

4、,a= %d , b=%d , c=%d ”, a , b , c);printfC x=%dn y=%dn* x, y);)第四章一、选择题1. A2. C 3. B 4. D 5. B 6. C 7. B 8. B 9. A 10. D二、填空题1.66、 II、!2. 33. 44. 10,4,35. -16. x=3x3x unknow三、编程题1. ttinclude stdio. h ttincludc conio. h main()(it x, y, z, t;scanf (*%d%d%d*, &x, &y, &z );if ( x y ) t = x; x = y; y = t

5、; *交换 x, y 的值*/if ( x z ) t = z; z = x; x = t; ) *交换 x, z 的值*/if ( y z ) t = y; y = z; z = t; *交换 z, y 的值*/ printf (small to big: %d %d %dnz, x, y, z); getch ();2. include stdio.h ttinclude main ()(float x, y;printf (z,nPlease input x:); scanf (%f, &x);if ( x = 0 )y = sqrt (x);if ( x 0 )y = fabs(x);

6、 printf (y=%fn”, y);)3. include stdio. h#include *conio. hmain ()int digit;printf (n请输入0-5的数字:);scanf (zz%d, &digit);if ( digit 5 )Printf (Input Error!n/z); exit(l); )switch ( digit )case 0: printf case 1: printf case 2: printf case 3: printf case 4: printf(Zero, n); break;(One. n); break;(Two. n);

7、break;(Three, n); break;(Four, n); break;default: printf (Five, n);4. include stdio. hmain O(int x, y;Printf (请输入一个整数:); scanf (, &x);if(x0) y= x*-6;else if(x=0) y=6;else y=x*x+6;Printf(y=%d, y);5. #include sldio. hmain Oint month;Printf(请输入月份:); scanf (z,%dz, &month);switch(month)(case 1:case 2:cas

8、e 3:printf (春季n);break;case 4:case 5:case 6: Printf (“夏季n);break;case 7:case 8:case 9: Printf (秋季r);break;case 10:case 11:case 12: Printf (冬季n) ;break;default: Printf (输入有误n) ;break;)第五章一、选择题1 .A2. B 3. B 4. B 5. D 6. A、C二、填空题1.8 5 22.8, -13. #*#*4.3 45.2三、编程题1 .本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。首先对

9、五 本书从1至5进行编号,然后使用穷举的方法。假设三个人分别借这五本书中的一本,当三 个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。void main() (int a, b, c, count = 0;printf (,There are diffrent methods for XM to distribute books to 3 readers: nz,);for ( a = 1; a = 5; a+ )*穷举第一个人借5本书中的1本的全部情况*/for ( b = 1; b = 5; b+ )/*穷举第二个人借5本书中的一本的全部情况*/for ( c = 1; a !=

10、 b & c = 5; c+ )/*当前两个人借不同的书时,穷举第三个人借5本书中的1本的全部情况*/if ( c != a & c != b )/*判断第三人与前两个人借的书是否不同*/printf (count%87z,%2d%d, %d, %d: %2d:%d, %d, %dn”, +count, a, b, c);/*打印可能的借阅方法*/2 .分析存钱和取钱的过程,可以采用倒推的方法。若第五年年底连本带息要取IOOO元,则 要先求出第五年年初银行存款的钱数:第五年初存款=Iooo/(1+12*0. 0063)依次类推可以求出第四年、第三年的年初银行存款的钱数:第四年年初存款=(第五年

11、年初存款+1000)/(1+12*0. 0063)第三年年初存款二(第四年年初存款+1000)/(1+12*0. 0063第二年年初存款二(第三年年初存款 +1000)/(1 + 12*0. 0063)第一年年初存款=(第二年年初存款+1000) / (1+12*0. 0063)通过以上过程就可以很容易地求出第一年年初要存入多少钱ttincludevoid main() (int i;float total = 0;for ( i = 0; i 5; i+ )*i 为年数,取值为 04 年*/total = ( total + 1000 )/( 1 + 0. 0063 * 12 ); /*累计

12、算出年初存款数额, 第五次的计算结果即为题解*/printf (He must save %. 2f at first, n*, total);)3 .题目中所有的鱼是分五次出售的,每次卖出的策略相同;第j次卖剩下的(j+l)分之一再 加l(j+l)条。第五次将第四次余下的11条全卖了。假定第j次鱼的总数为X,则第j次留下:-(x+l)(j+l)当第四次出售完毕时,应该剩下11条。若X满足上述要求,则X就是题目的解。应当注意的是:(x+l)(j+D”应满足整除条件。试探X的初值可以从23开始,试探的 步长为2,因为X的值一定为奇数。ttincludevoid main()(int i, j,

13、n = 0, x;*n 为标志变量*/for ( i = 23; n = 0; i += 2 )/*控制试探的步长和过程*/(for ( j = 1, x = i; j = 11; j+ ) *完成出售四次的操作*/if ( (x + 1) % (j + 1) = 0 )/*若满足整除条件则进行实际的出售操作*/X -= (x + 1) / (j + 1);else x = 0;break;/*否则停止计算过程*/if (j = 5 & X = 11)/*若第四次余下11条则满足题意*/(printf (*There are %d fishes at first, n”, i);*输出结果*/

14、n=l;/*控制退出试探过程*/)4.根据题意可知,满足条件的五位数的选择范围是IOoo6、IOoI6。99996。可设基础数 i=1000,通过计算i*10+6即可得到欲选的数(i的变化范围是IOoO999),再判断该数能否 被3整除。ftincludevoid main()long int i;int count = 0;*count:统计满足条件的五位数的个数*/for ( i = 1000; i 9999; i+ )if ( !(i * 10 + 6) % 3) )/*判断所选的数能否被3整除*/count+;/*若满足条件则计数*/Printf(count=%dn”,count);5.手工方式求两个正整数的蝶大公约数的方法是用辗转相除法,在程序中可以模拟这种方 式。ttinclude void main() (int a , b, numl, num2, temp;printf (Input a & b:);scanf (%d%d”, &numl, &num2);if

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服