从问题到程序--习题答案

合集下载

计算机程序设计员复习题含参考答案

计算机程序设计员复习题含参考答案

计算机程序设计员复习题含参考答案一、单选题(共100题,每题1分,共100分)1.知识产权包括著作权和( )两部分。

A、工业产权B、名誉权C、使用权D、专利权正确答案:A2.计算机程序设计员在工作中要从客观实际出发,不懂不装懂,多向用户学习,切忌( )。

A、客户第一B、一切向钱看C、主观臆断D、服务第一正确答案:C3.( )存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。

A、对话框类B、单模对话框C、对话框函数D、对话框模板资源正确答案:D4.( )协议的作用是提供一个网址的具体情况,它是Internet上最古老的协议之一。

A、FingerB、GopherC、FtpD、Http正确答案:A5.软件管理按时间可划分为生产管理和( )。

A、开发进度管理B、成本管理C、技术管理D、使用维护管理正确答案:D6.( )也称为分支覆盖,是一种较强的逻辑覆盖。

A、判定覆盖B、路径覆盖C、条件覆盖D、条件组合覆盖正确答案:A7.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。

A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C8.按( )来划分,总线可以分为单向和双向两种。

A、信息的传输方向B、数据线的宽度C、总线所处的层次D、用途正确答案:A9.数据独立性是指()A、数据库的数据依赖于用户的应用程序B、DBMS与DB相互独立C、用户应用程序与数据库的数据相互独立D、用户应用程序与DBMS相互独立正确答案:C10.概要设计的任务是( )。

A、发现并排除软件中的错误,最终把一个高质量的软件系统交付给用户使用B、实现人和计算机的通讯,产生一个机器能执行的源程序C、确定每个模块的数据结构和算法,确定模块的细节D、将软件需求说明转化为软件总体设计,确定软件结构及模块的划分,并确定各模块之间的接口正确答案:D11.( )方法的主要优点包括:与人类习惯的思维方法一致、稳定性好、可重用性好、可维护性好。

c语言程序设计第五版谭浩强习题答案第三章课后答案

c语言程序设计第五版谭浩强习题答案第三章课后答案

c语⾔程序设计第五版谭浩强习题答案第三章课后答案第三章最简单的C程序设计 ----顺序程序设计1、假如我国国民⽣产总值的年增长率为7%,计算10年后我国国民⽣产总值与现在相⽐增长多少百分⽐。

计算公式为$p = (1+r)^n$ ,其中r为年增长率,n为年数,p为与现在相⽐的倍数。

题⽬解析:此题的关键主要是利⽤数学库math中pow函数进⾏计算,若不熟悉可以查阅帮助⽂档,查看pow函数的⽤法。

代码⽰例:#include<stdio.h>#include <math.h>int main(){Cfloat p, r, n;r = 0.07;n = 10;p = pow(1 + r, n);printf("p=%f\n", p);return 0;}运⾏结果:2、存款利息的计算。

有1000元,想存5年,可按以下5种办法存:(1)⼀次存5年期(2)先存2年期,到期后将本息再存3年期(3)先存3年期,到期后将本息再存2年期(4)存1年期,到期后将本息再存1年期,连续存5次(5)存活期存款,活期利息每⼀季度结算⼀次2017年银⾏存款利息如下:1年期定期存款利息为1.5%;2年期定期存款利息为2.1%;3年期定期存款利息为2.75%;5年期定期存款利息为3%;活期存款利息为0.35%(活期存款每⼀-季度结算⼀-次利息)如果r为年利率,n为存款年数,则计算本息的公式如下:1年期本息和: P= 1000* (1+r);n年期本息和: P= 1000* (1+n* r);存n次1年期的本息和: $P=1000* (1+r)^n$;活期存款本息和: P= 1000 *(1+$\frac{r}{4}$)$^{4n}$;说明: 1000*(1+$\frac{r}{4}$)是⼀个季度的本息和。

题⽬解析:理解题意很关键,其次就是利⽤数学库math中pow函数进⾏幂次⽅计算代码⽰例:#include<stdio.h>#include <math.h>int main(){float r5, r3, r2, r1, r0, p, p1, p2, p3, p4, p5;p = 1000;r5 = 0.0585;r3 = 0.054;r2 = 0.0468;r1 = 0.0414;r0 = 0.0072;p1 = p*((1 + r5) * 5); // ⼀次存5年期p2 = p*(1 + 2 * r2)*(1 + 3 * r3); // 先存2年期,到期后将本息再存3年期p3 = p*(1 + 3 * r3)*(1 + 2 * r2); // 先存3年期,到期后将本息再存2年期p4 = p*pow(1 + r1, 5); // 存1年期,到期后将本息存再存1年期,连续存5次p5 = p*pow(1 + r0 / 4, 4 * 5); // 存活期存款。

《算法与程序设计》复习题

《算法与程序设计》复习题

算法与程序设计一、选择题部分(100题)一章一节:了解计算机解决问题的过程1.用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?()A、分析问题B、设计算法C、编写程序D、调试程序答案:B2.学校要举行运动会,请你设计一个能够对运动员分数自动排序的软件,如果要设计此软件,以下最好的方法和步骤是()。

A、分析问题,编写程序,设计算法,调试程序B、设计算法,编写程序,提出问题,调试程序C、提出问题,设计算法,编写程序,调试程序D、设计算法,提出问题,编写程序,调试程序答案:C3.下列步骤不属于软件开发过程的是()。

A、任务分析与系统设计B、软件的销售C、代码编写与测试D、软件测试与维护答案:B4.用计算机解决问题的步骤一般为()①编写程序②设计算法③分析问题④调试程序。

A.①②③④ B.③④①② C.②③①④ D.③②①④答案:D5.以下描述中最适合用计算机编程来处理的是()。

A、确定放学回家的路线B、计算某个同学期中考试各科成绩总分C、计算100以内的奇数平方和D、在因特网上查找自己喜欢的歌曲答案:C6.以下问题中最适合用计算机编程处理的是()。

A、制定本学期的学习计划B、计算正方形的周长C、创作一首歌曲D、求1000以内的所有素数答案:D7.由“上车—掏钱—投币”所描述的问题是()。

A、无人售票车投币过程B、乘公交车过程C、上车过程D、下车过程答案:A一章二节:算法和算法描述8.下面说法正确的是()。

A、算法+数据结构=程序B、算法就是程序C、数据结构就是程序D、算法包括数据结构答案:A9.算法描述可以有多种表达方法,下面哪些方法不可以描述“水仙花数问题”的算法()。

A.自然语言B.流程图C.伪代码D.机器语言答案:D10.下面关于算法的说法错误的是()。

A、算法必须有输出B、算法就是程序C、算法不一定有输入D、算法必须在有限步执行后能结束答案:B11.算法的三种基本控制结构是顺序结构、分支结构和()。

大学计算机习题与答案

大学计算机习题与答案

1、计算机系统的工程问题求解过程分为5个必须的步骤,其中第一个步骤应该是A.对于多个简单的数据集抽象的解答问题B.清晰的陈述问题C.设计解决方案并将其转换成计算机程序D.描述输入、输出和接口信息正确答案:B2、以下说法错误的是A.抽象是对问题的简化描述B.抽象是关注事物的个别特征C.抽象是求解问题的思维方法:从个别中把握一般,从现象中把握本质D.抽象的反义词是具体正确答案:B3、用计算得到的结果来解释实际问题,并接受实际的检验,这属于哪一种建模?A.3D建模B.数据建模C.可视化建模D.数学建模正确答案:D4、“人工智能”属于计算机学科研究方向中的A.软件工程B.计算机软件与理论C.计算机应用D.计算机系统结构5、由手机号码猜年龄。

以2015年为例,把你手机号码的最后一位乘上2,然后加上5,再乘以50,把得到的数目加上1765,用这个结果减去你出生的那一年,得到的一定是一个三位数字。

这个三位数的第一个数字一定是你手机号码的末位,接下来的两个数字就是你的年龄。

请问你运算过程中所用数据的基数是什么?A.基数为8B.基数为10C.基数为2D.基数为16正确答案:B6、题目如“由手机号码猜年龄”,如果是以2016年为例,以下哪一个数字应该发生变化?A.1765B.5C.50D.2正确答案:A7、已知汉字“大”在国标字库里的第20区第83位上,其十六进制编码是1453 H,将其加上2020H就可得到A.区位码B.机内码C.输入码D.国标码正确答案:D8、在计算机中,存储容量为2MB,指的是()。

A.1024*1024*2个字B.1000*1000*2个字C.1000*1000*2个字节D.1024*1024*2个字节正确答案:D9、微型机在使用过程中突然断电,则()中的信息将全部丢失。

A.CD-ROMB.SRAMC.磁盘D.ROM正确答案:B10、下列关于CPU的相关叙述中正确的是()。

A.多核计算机是指计算机有多个CPUB.CPU通过总线直接与内存交换信息C.可以保存计算的中间结果D.外存储器通过接口和CPU直接交换信息正确答案:B11、()是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

软件测试(第2版 慕课版)课后习题答案

软件测试(第2版 慕课版)课后习题答案

第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。

(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。

如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。

4.简述软件测试的复杂性和经济性。

复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。

测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。

具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。

由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。

7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。

java编程练习题及答案

java编程练习题及答案

java编程练习题及答案【篇一:java基础编程练习题(50题及答案)2017】class=txt>【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(string[] args) {system.out.println(第1个月的兔子对数: 1);system.out.println(第2个月的兔子对数: 1);int f1 = 1, f2 = 1, f, m=24;for(int i=3; i=m; i++) {f = f2;f2 = f1 + f2;f1 = f;system.out.println(第 + i +个月的兔子对数: +f2);}}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

public class lianxi02 {public static void main(string[] args) {int count = 0;for(int i=101; i200; i+=2) {boolean b = false;for(int j=2; j=math.sqrt(i); j++){if(i % j == 0) { b = false; break; }else{ b = true; }}if(b == true) {count ++;system.out.println(i );}}system.out.println( 素数个数是: + count);}}【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

c语言程序设计12上半部分习题课_动态跟踪调试

c语言程序设计12上半部分习题课_动态跟踪调试

10.四边形的边长为 四边形的边长为a,b,c,d及一对对角 四边形的边长为 及一对对角 之各angel,求四边形的面积。 之各 ,求四边形的面积。
double QuaArea(double a, double b, double c, double d, double e) { double s = (a+b+c+d)/2.; double area; area = sqrt((s-a)*(s-b)*(s-c)*(s-d)a*b*c*d*cos(e)*cos(e)); return area; } 有问题吗? 有问题吗?
补充题2.求分段函数 补充题 求分段函数
#include<stdio.h> int main() { double x, y; printf("please input x\n"); scanf("%lf", &x); if (x<1){ y = x; printf ("%lf", y); } else if (1<=x && x<10){ y = 2*x - 1; printf ("%lf\n", y); } else { y = 3*x - 11; printf ("%lf\n", y); } return 0; }
第三章习题讲解
2.设a=1,b=2,c=3,则u的值为: 设 的值为: , 的值为
u=a?b:c; u=2 u=(a=2)?b+a:c+a; u=4
3.设a=1,b=2,c=0,则下列表达式的值为: 设 ,则下列表达式的值为:
a && ! ((b || c) && !a) 1 ! (a && b) || c? a || b : a && b && c 0 ! (a+b<c) && b<=c*a-b 0

计算机网络题参考答案

计算机网络题参考答案

计算机网络题参考答案习题解答习题及参考答案说明习题中的某些问答题是为了方便学生课后理解书本知识,并不一定适合作为考试题目,给出的答案也仅供参考,学生不应该死记硬背。

第1章1-1 计算机网络向用户可以提供哪些服务,解答:计算机网络是一种通信基础设施,向用户提供的最核心的服务就是信息交互服务和资源共享服务。

虽然计算机网络与电信网络和有线电视网络一样,都是一种通信基础设施,但与这两个网络最大的不同在于计算机网络的端设备是功能强大且具有智能的计算机。

利用计算机网络这个通信基础设施,计算机上运行的各种应用程序通过彼此间的通信能为用户提供更加丰富多彩的服务和应用,如文件传输、电子邮件、网络电视等待。

1-2 试简述分组交换的要点。

解答:分组交换采用存储转发技术,当需要发送数据时无需在源和目的之间先建立一条物理的通路,而是将要发送的报文分割为较小的数据段,将控制信息作为首部加在每个数据段前面(构成分组)一起发送给分组交换机。

每一个分组的首部都含有目的地址等控制信息。

分组交换网中的分组交换机根据分组首部中的控制信息,把分组转发到下一个分组交换机。

用这种存储转发方式将分组转发到达最终目的地。

1-3 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。

解答:电路交换通信双方独占端端固定传输带宽,其优点是适合传输大量连续实时的数据。

其缺点是对于突发数据信道利用率低。

报文交换采用存储转发方式,其优点是简单,信道利用率高。

其缺点是存储转发时延长,过长的报文误码率高不利于可靠传输,而且过长的报文占用链路时间太长,不利于资源共享。

分组交换将长的报文划分为多个短的分组减小的资源共享的粒度,提高了整个系统的平均响应时间,存储转发时延比报文交换要短,灵活的路由选择提高了网络的生存性。

其缺点是分组在各结点转发时可能排队,端到端时延不确定,网络通信量过大时会导致网络拥塞。

分组首部携带的控制信息造成一定的额外开销。

1-4 为什么说因特网是自印刷术以来人类通信方面最大的变革,解答:因特网已成为仅次于全球电话网的世界第二大网络,缩小了人际交往的时间和空间,大大改变着我们工作和生活的各个方面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从问题到程序—高级语言程序设计第二章练习1. 指出下面的哪些字符序列不是合法的标识符:_abc x+- 3x1 Xf_1__4 Eoof___x__x__2 ____ I am答:不合法的标示符有:a$#24非法符号#x+- 非法符号#3x1 不是以英文字母开头I am非法符号“空格”bg--1非法符号-2. 手工计算下列表达式的值:1)125 + 0125 2)0XAF - 0XFA3)24 * 3 / 5 + 6 4)36 + - (5 - 23)/ 45)35 * 012 + 27 / 4 / 7 * (12 - 4)答:1)210 2)-75 3)20 4)40 5)3503. 在下面表达式的计算过程中,在什么地方将发生类型转换,各个转换是从什么类型转换到什么类型,表达式计算的结果是什么?1)3 * (2L + 4.5f) - 012 + 442)3 * (int)sqrt(34) - sin(6) * 5 + 0x2AF3)cos(2.5f + 4) - 6 *27L + 1526 - 2.4L答:1)53.5 2)703.397077 在此题中十六进制数会在计算中(编译时)自动转成十进制数3)1362.593574. 写程序计算第3 题中各个表达式的值。

答:#include<stdio.h>#include<math.h>int main(){printf("%f\n",3 * (2L + 4.5f) - 012 + 44);printf("%f\n",3 * (int)sqrt(34) - sin(6) * 5 + 0x2AF);printf("%f\n",cos(2.5f + 4) - 6 *27L + 1526 - 2.4);system("pause");return 0;}5. 写程序计算下面各个表达式的值:1) 2 341 257.+ 2)106524*133)23 5827 96 3 67.. / . 4)π2 +1 7)ln ln(10 1) 2π+5)log5 2π−1 6)e π+1 7)arctan(log ( )) 3 e + π8) 3.6813−(2.24−0.242 )2 9)1 23 4 5 + + / 10)ln(2π13+ e )6. 已知铁的比重是7.86,金的比重是19.3。

写几个简单程序,分别计算出直径100 毫米和150 毫米的铁球与金球的重量。

答:#include<stdio.h>double f1(double r){double v,w;v=4.0/3.0*r*r*r*3.1415926;w=7.86*v;return w;}double f2(double r){double v,w;v=4.0/3.0*r*r*r*3.1415926;w=19.3*v;return w;}int main(){printf("铁球的重量为: %f,金球的重量为: %f\n",f1(0.1/2),f2(0.1/2.0));printf("铁球的重量为: %f,金球的重量为: %f\n",f1(0.15/2),f2(0.15/2.0));system("pause");return 0;}7. 写程序计算5x2+ 2x + 6 的两个根,考虑用合适的方式输出。

(提示:对这个具体问题,可以先人工计算出判别式b2 −4ac 的值,以此作为已知信息,就可以写出程序了。

)答:#include <stdio.h>#include <math.h>void f(double a,double b,double c){double temp=b*b-4*a*c;if(temp>0)printf("方程的根为:%f,%f",(-b+sqrt(temp))/2/a,(-b-sqrt(temp))/2/a); else if(temp==0)printf("方程有两个相同的根为:%f",-b/2/a);elseprintf("方程无解!");}int main(){f(5,2,6); //可以测试不同的数据system("pause");return 0;}8. 在计算机上试验本章正文中的一些程序。

对它们做一些修改,观察程序加工和运行的情况,并对程序的行为做出解释。

9. 在一个能正确工作工作的输出整数结果的程序里,将printf 的相应转换描述改为%f或者%ld,看看会出现什么问题。

在一个能正确工作工作的输出双精度结果的程序里,1、将printf 的相应转换描述改为%d 或者%ld,看看会出现什么问题。

第三章练习1. 下面的字符序列中哪些不是合法的变量名:-abc __aa for pp.288IBM/PC tihsWhile r24_s25 __a__b a"bc _345答:-abc for pp.288 to be IBM/PC ms-c #micro m%ust While a"bc2. 假设整型变量a 的值是1,b 的值是2,c 的值是3,在这种情况下分别执行下面各个语句,写出执行对应语句后整型变量u 的值。

1)u = a ? b : c;2)u = (a = 2) ? b + a : c + a;答:1)u=2 2)u=43. 假设整型变量a 的值是1,b 的值是2,c 的值是0,写出下面各个表达式的值。

1)a && !((b || c) && !a)2)!(a && b) || c ? a || b : a && b && c3)!(a + b < c) && b <= c * a – b答:1)1 2)0 3)04. 下面程序在执行时,哪些地方将发生类型转换?程序打印的值是什么?int f (int n, float m) {return (m + n) / 4;}int main () {float y = 3;printf("%d\n", f(y, y + 1));return 0;}答:{}}5. 在计算机上试验本章正文中的一些程序。

对它们做一些修改,观察程序加工和运行的情况,并对程序的行为做出解释。

答案:略6. 定义求圆球的体积、求圆球的表面积、求圆柱体的体积、求圆柱体的表面积的函数。

答:#include<stdio.h>double f1(double r){double v;v=4.0/3.0*r*r*r*3.1415926;return v;}double f2(double r){double s;s=4*r*r*3.1415926;return s;}double f3(double r,double h){double v;v=r*r*3.1415926*h;return v;}double f4(double r,double h){double s;s=2*3.1415926*r*h+2*3.1415926*r*r;return s;}int main(){printf("圆球的体积为%f\n",f1(0.15));printf("圆球的面积为%f\n",f2(0.15));printf("圆柱体的体积为%lf\n",f3(0.15,0.5));printf("圆柱体的面积为%lf\n",f4(0.15,0.5));system("pause");return 0;}7. 1)不用函数,直接写一个主程序计算并输出直径为100 毫米和150 毫米的金、银、铜、铁、锡球的重量(以kg 为单位输出)。

2)重新完成上面程序,先定义一个带有两个参数的函数,它能求出直径为x 的比重为y 的圆球的重量,而后在主程序里调用这个函数完成所需工作。

将这样得到的解与不用函数的解比较,比较它们的长度、容易出错的程度。

假设现在要求修改所用圆周率的精度,考虑用两种方式写程序的修改难度。

3)请写程序,求出边长为100 毫米和150 毫米的金、银、铜、铁、锡立方体的重量。

你可以利用前面的程序吗?是否很容易修改前面程序,完成这一计算?比较不用函数的解法和使用函数的解法在易修改和重复使用方面的效用。

8. 定义函数:double tmax(double, double, double),它返回三个参数中最大的一个。

写一个主函数试验各种参数情况。

答:#include<stdio.h>double tmax(double x,double y,double z){if(x>y)return x>z?x:z;elsereturn y>z?y:z;}int main(){printf("最大的一个为:%f",tmax(8,3,2));printf("最大的一个为:%f",tmax(8,13,2));printf("最大的一个为:%f",tmax(8,3,22));system("pause");return 0;}9. 写函数,它以两个电阻的值作为参数,求出并联的电阻值。

答:并联电阻值的计算公式为:R1*R2/(R1+R2)10. 如果四边形四个边的长度分别为a、b、c、d ,一对对角之和为2α,则其面积为:S = (s −a)(s −b)(s −c)(s −d ) −abcd cos2α其中s =(a + b + c + d)/2。

定义一个函数计算任意四边形的面积。

设有一个四边形,其四条边边长分别为3、4、5、5,一对对角之和为145o ,写程序计算它的面积。

11. 修改已知四边长求四边形面积的函数,增加对各种参数错误情况的检查和处理(如返回值0),用各种实例数据检查你的函数否检查出所有可能的错误情况。

12. 分析本章正文中给出的求二次方程根的函数,看它缺乏对哪些特殊情况的处理。

补充这些处理,在需要时输出适当的信息,使之成为一个更完整的函数。

写一个主函数,用各种特殊情况和一般情况测试所完成的函数。

答:#include <stdio.h>#include <math.h>void f(double a,double b,double c){double temp=b*b-4*a*c;if(a==0)printf("方程的根为:%f",-c/b);if(temp>0)printf("方程的根为:%f,%f",(-b+sqrt(temp))/2/a,(-b-sqrt(temp))/2/a);else if(temp==0)printf("方程有两个相同的根为:%f",-b/2/a);elseprintf("方程无解!");}int main(){f(5,2,6); //可以测试不同的数据system("pause");return 0;}13. 写一个简单程序,它输出从1 到10 的整数。

相关文档
最新文档