ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:221.84KB ,
资源ID:20973565      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20973565.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序设计基础基于C语言第2版课后习题参考答案剖析Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序设计基础基于C语言第2版课后习题参考答案剖析Word文档下载推荐.docx

1、程序的可测试性直接影响测试的质量和效率。7、可维护性(Maintainability):诊断和改正程序错误以及功能扩充和性能提高的容易程度。程序设计是一个迭代过程,要开发出高质量的程序需要对程序进行多次修改和完善。程序的可维护性决定了上述工作的质量和效率。8、可重用性(Reusability):可重用性是指在其它应用中该程序可以被再次使用的容易程度。如果我们在开发新程序时,能够直接或稍加修改就能利用原有的程序,则会大大提高新程序开发的质量和效率。因此,提高程序的可重用性是提高程序设计质量和效率的根本途径。1.3计算题(1)计算-1的8位原码、反码、补码和Excess_127码。 分别为:100

2、00001B、11111110B、11111111B、01111110B(2)计算机内存中相邻四个字节的值为10111110000000000000000000000000,试问该值表示的实数、有符号数和无符号数各为多少? 分别是:实数0.125、有符号数-1107296256(负数在计算机中用补码表示)无符号数3187671040(3)字符A、a、1的ASCII值是多少,给出将大写字母的ASCII转换成对应小写字母ASCII值得计算公式。A:41H a:61H 1:31H大写转化为小写:大写字母的ASCII值+20H=小写字母的ASCII值1.4为下列问题求解设计算法,并分别用程序流程图、N

3、S盒图和PAD图加以描述。(1)有两个调料盒S1和S2,分别盛有糖和盐,要求将它们互换(即S1盒原来盛糖,现在改盛盐;S2同理)。算法思想:这是一个两个变量交换值的问题,可以设置一个临时变量,首先把S1的值放入临时变量中,然后将S2的值放入S1中,最后将临时变量的值放入S1中即可。程序流程图:N-S盒图:PAD图:(2)依次输入6个整数,要求输出其中最小的数。定义一个临时变量用来存放最小的数,首先输入第一个数赋值于临时变量,然后循环输入其余的整数,比较输入的整数和临时变量的大小,如果大于临时变量则继续输入,反之,则给临时变量赋值为次此数。最后临时变量中存放的数输入的数中的最小数,输入临时变量即

4、可。(3)输入3个整数,按从大到小的顺序输出。输入三个数a、b、c,首先比较a和b,如果ab,则比较c和a,如果ca则输出c、a、b;如果cb,输出a、c、b,否则输出a、b、c;对于ab的情况同理可以得出结果。(4)求1*2*3*10。 算法思想:定义一个变量用来存放最后的值,赋初值为1,做十次循环,每次循环在原来变量的基础上乘循环变量值(即1-10),最后输出这个变量即可。(5)输入两个整数,求其最大公约数。选取两个数中较小的数作为起始值,让这两个数分别除以这个值,如果可以整除,则这个数就是最后结果,如果不能整除则将起始值减一之后再用原来的两个数对其做除法运算,知道整除为止,得到的起始值的

5、最后值就是结果。1.5算法思考题(1)钞票换硬币:把一元钞票换成一分、二分、五分硬币(每种至少一枚),有哪些种换法? 分析:1元相当于100分,设5分、2分、1分的硬币数分别为X、Y、Z,求换法就是在寻找这样一种组合,使得5*X+2*Y+Z =100,所以每当找到1种组合时,将个数记录下来,就可知换法有多少种,算法描述如下:Count = 0; /用于记录个数,初始为0for(X=1;X=20;X+) for(Y=1;Y=50;Y+) for(Z=1;Z=100;Z+) if(5*X + 2*Y + Z = 100) /可实现交换 Count +; 输出Count(2)百钱买百鸡:一只公鸡值元

6、,一只母鸡值元,只小鸡值元,现用一百元要买一百只鸡,问有什么方案?分析:由题意可知,假设公鸡、母鸡、小鸡分别有X、Y、Z只,那么X、Y、Z满足:X+Y+Z=100,而且要满足钱数限定:5*X+3*Y+1/3*Z = 100,由于3只小鸡1元钱,所以小鸡的个数必须是3的整数倍,即:Z是3的整数倍。可通过限制条件,筛选出满足条件的X,Y,Z。当然X、Y、Z还满足以下条件:5*X = 100;3*Y Z = 100。以下是算法描述:for(X=0; for(Y=0; for(Z=0; if(5*X=100 and 3*Y=100 and z%3=0) if(X+Y+Z=100 and 5*X+3*Y

7、+Z/3 = 100) 输出X、Y、Z;(3)斐波那契兔子的问题:某人有一对兔子饲养在围墙中,如果它们每个月生一对兔子,且新生的兔子在第二个月后也是每个月生一对兔子,问一年后围墙中共有多少对兔子。第一个月是最初的一对兔子生下一对兔子,围墙内共有两对兔子。第二个月仍是最初的一对兔子生下一对兔子,共有3对兔子。到第三个月除最初的兔子新生一对兔子外,第一个月生的兔子也开始生兔子,因此共有5对兔子。继续推下去,第12个月时最终共有对377对兔子。由分析知,每个月的兔子都是上个月的兔子与新增兔子之和,而上个月新生的兔子到下个月才会生兔子,所以新增的兔子都是上两月的兔子生的。设每个月的兔子数为F(n),则

8、可列出下列式子:F(0) = F(1) = 1F(n) = F(n-1) + F(n-2)显然可用递归的方法解出此题,算法流程图如下:习题2参考答案(1)请简要描述C语言的发展历史。答:C语言是一种目前世界上普遍流行、使用广泛的高级程序设计语言,它是在B语言的基础上发展起来的,19721973年间,贝尔实验室设计出了C语言。1983年,美国国家标准化协会制定了C语言的标准,称为ANSI C。(2)略。(3)C语言的主要特点是什么?答:C语言的主要特点如下。 C程序是由函数组成的。 函数由函数头和函数体组成。 C程序总是从main函数开始执行。 每个语句和数据声明的最后必须有一个“;”。 C语言

9、没有自己的输入/输出语句,它的输入/输出由库函数printf和scanf完成。 可以添加注释。 C语言程序中的变量必须先声明后使用。(4)如何使用Visual C+ 6.0开发控制台程序?使用VC6开发控制台程序的方法如下: 在Miscrosoft Visual C+ 6.0环境下,首先建立一个空的工程。 而后建立一个C源程序文件,并在该文件中输入源代码。 使用Bulid命令或者快捷键F7,进行编译连接。 如果没有错误,选择Execute命令或者快捷键Ctrl+F5,进行执行。习题3参考答案:3.1 选择题 1.B 2.D 3.D 4.A 5.A 6.A 7.C 8.C 9.C 10.B3.2

10、 写出下列程序的输出结果1200 310 c82.a=100,b=2003.97,141,61,a4.5.aabb c abc4,36.6,6,6,73.3 编程题1 #include void main()int a=500;printf(%d,%o,%xn,a,a,a);输出结果:500,764,1f42.float x;scanf(%f,&x);a=%.3f,a=%.3en,x,x);输入:66a=66.000,a=6.60000e+0013.char ch1=a,ch2=ch1;%c,%d,%o,%xn,ch1,ch1,ch1,ch1);,ch2,ch2,ch2,ch2);A,65,1

11、01,41a,97,141,61float x,y,z,s,v;%f%f%fx,&y,&z);s=2*(x*y+x*z+y*z);v=x*y*z;Area=%.lf,Volume=%.lfn,s,v);3 4 5Area=94 ,Volume=605#define PI 3.14math.hfloat r,s,l;r);s=(float)PI*r*r;l=2*(float)PI*r;r=%4.1f,s=%4.1f,l=%4.1fn,r,s,l);3r= 3.0,s=28.3 ,l=18.86float x1,y1,x2,y2,x3,y3,a,b,c,p,s;%f%f%f%f%f%fx1,&y1

12、,&x2,&y2,&x3,&y3);a=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);b=sqrt(x1-x3)*(x1-x3)+(y1-y3)*(y1-y3);c=sqrt(x2-x3)*(x2-x3)+(y2-y3)*(y2-y3);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c);Area=%fn,s);5 6 3 8 0 23Area=12.000013习题4参考答案4.1选择题。(1)D (2)A (3)A (4)C (5)C (6)B (7)B (8)B (9)C (10)A4.2填空题。(1)261 (2)16 (3)0 (4

13、)2,14.3编程题。(1)#include char s110,s210,s20;please enter two stringn gets(s1); gets(s2); strcat(s1,s2);%sn,s1);%dn,strlen(s1);(3) double x,y;please enter two data:%lf%lfy);%lf raised to %lf is %lfn,x,y,pow(x,y);习题5参考答案1填空题(1) n=4 (2) 2*i-1 (3) 7 (4) #2#includen)?m:n; b=(mn:m; while (a%b!=0) s=a%b; a=b

14、; b=s; nGong yue shu:%ldnnGong Bei shu:,(m*n)/s);3#include int a,b,c,d,e;Please input an integer:%da); if (a/1000=0) printf(input error! return; b=a/1000; e=a%10; c=a%1000/100; d=a%100/10; if (b=e & c=d)YES.n elseNO.n4#include= & cAZ) Num1+; else if (c09) Num2+; else if (c= Num3+; else Num4+; while(

15、c!n英文字母有%d个,数字有%d个,空格有%d个,其它字符有%d个。,Num1,Num2,Num3,Num4);5#include float a,b,c,disc,x1,x2,realpart,imagepart;Input a,b and c:%f,%f,%fa,&b,&c);The equation disc=b*b-4*a*c; if (fabs(disc)1e-7) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a);has distince real roots:%4.2f and %4.2f.n,x1,x2); realpart=-

16、b/(2*a); imagepart=sqrt(-disc)/(2*a); printf(has complext roots:%4.2f+%4.2fi,realpart,imagepart); and %4.2f-%4.2fin6. #include int i,j; for (i=1;i=5;i+) for (j=1;j=1;i-) for (j=i;jj-)7#include=EPS);sin(%.4lf)=%.4lfn,x,sum);8#include unsigned int n; char c; n=0;input a binary integer: while(c=getchar

17、()! switch (c) case : n=n*2+0; break;1 n=n*2+1;the decimal is %d.n,n);9#include10;t%d,i);,i*j);10#include1) z=x+y; x=y; y=z; n-;Fibonacci(%d)=%d.n,m,z);11#include int flag; flag=1; for (j=2;=sqrt(i); if (i%j=0) flag=0; break; if (flag=1)%dt12#include int i,sum;=1000; if (i%3=0 & i%5=0 & i%7=0) sum+=i;sum is %d.n,sum);13#include=1 & x=4 &=10) f=3*(x+4); f=x*x+3*x-6;f(%d)=%

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1