阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 【说明】 编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。 【函数】 #include<sldio.h> #incl

admin2010-01-15  62

问题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
    【说明】
   编写程序,对于从键盘输入的3个实数a、b、c,计算实系数一元二次方程的根并输出所求的根。
   【函数】
   #include<sldio.h>
   #include<sldlib.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)。
转载请注明原文地址:https://jikaoti.com/ti/VkW7FFFM
0

相关试题推荐
最新回复(0)