当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >2019年11月软件设计师模拟题下午(二)之四

2019年11月软件设计师模拟题下午(二)之四

作者:wx62e89cc5e381d2024-01-04 10:35:40
备考咨询 刷题指导
添加专属学姐
下载资料 2024上半年软考备考资料+考试大纲
下载按钮 下载
引号

摘要:对于【软件设计师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2019年11月软件设计师模拟题下午(二)】部分试题的详解,一起来看看吧~1、阅读以下说明和C函数,填充(1)~(5)的空缺,将解答填入答题纸的对应栏内

引号
摘要:对于【软件设计师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2019年11月软件设计师模拟题下午(二)】部分试题的详解,一起来看看吧~



1、阅读以下说明和C函数,填充(1)~(5)的空缺,将解答填入答题纸的对应栏内。【 说明 】编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。    【函数】    #include<stdio.h>    #include<stdlib.h>    #include<math.h>    Main()    {    float a,b,c,delta,x1,x2;    printf("Enter a,b,c");    scanf("%f%f%f",&a,&b,&c));    if((1))    if((2))    printf("Input error!\n");    else    printf("The single root is %f\n",(3));    else    {    delta=b*b-4*a*c;    if((4))    {    x1=(-b+sqrt(delta))/(2*a);    x2=(-b-sqrt(delta))/(2*a);    printf("x1=%8.2f\nx2=%8.2f\n",x1,x2,);    }    else if(delta==0)    printf("x1=x2=%8.2f\n",(5));    else    {    Printf("z2=%8.2f+%8.2f*i\n",-b/(2*a),sqrt(-delta)/)(2*abs(a)));    Printf("z2=%8.2f-%8.2f*i\n",-b/(2*a),sqrt(-delta)/(2*abs(a)));    }        }}
答案:

(1)a==0
(2)b==0
(3)-c/b

  (4)delta>0(或b*b-4*a*c>0)
(5)-b/(2*a) (或-b/2/a)


答题解析:

对于如何求出一元二次方程的根,是解决这个题目的关键。首先我们来回忆一下数学中求一元二次方程根的方法。在数学中求一元二次方程根的步骤如下。

第一步是确定方程是否为一元二次方程,这需要判断二次方系数和一次方系数是否为0,如果都为0,则方程有错。如果只是二次方系数为零,则方程为一元一次方程,方程有一个解。

第二步是用Δ=b*b-4*a*c与0的关系来判断解的个数,如果Δ>0,方程有2个不同的解;如果Δ=0,方程有一个解;而Δ<0时,方程无解。

第三步才是求解。

现在我们来看主函数,在主函数中,首先声明了一些实数变量,其中变量a、b、c分别存放我们从键盘输入的3个实数,而detal中存放的是Δ的值,x1、x2中存放方程根的值。

接下来是从键盘输入3个值,作为一元二次方程的系数,在对一元二次方程求解以前我们需要考虑系数值为0的情况,因此,第1空应该填“a==0”,第2空应该填“b==0”。

在a等于0而b不等于0的情况下,方程为一元一次方程,可以直接用-c/b求得其解,第3空明显是要输出这个解。

再往下看,程序计算了Δ的值,那么接下来应该是判断Δ与0的关系了,从程序中可以看出,方程在第4空的条件下有两个解,那么第4空应该填“delta>0”。而第5空是在delta=0的条件下方程的解,因此第5空应该填“-b/(2*a)”。



查看完整试题>>>


代理合作学习群