填空题 1.  请补充main()函数,该函数的功能是:求方程kx2+px+j=0的根(方程的系数k,p,j从键盘输入)。
    例如,当k=1,p=-2,j=1时,方程的两个根分别是:x1=1.00,x2=1.00。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include<stdlib.h>
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    void main()
    {
    float k,p,j,disc,x1,x2,m,q;
    scanf("%f,%f,%f",&k,&p,&j);
    disc=p*p-4*k*j;
    system("CLS");
    printf("****the result****\n");
    if(disc>=0)
    {
    x1=______;
    x2=(-p-sqrt(disc))/(2*k);
    printf("x1=%6.2f,x2=%6.2f\n",x1,x2);
    }
    else
    {
    m=______;
    q=______;
    printf("x1=%6.2f+%6.2f i\n",m,q);
    printf("x2=%6.2f-%6.2f i\n",m,q);
    }
    }
  • 1、
【正确答案】 1、(-p+sqrt(disc))/(2*k)  
   -p/(2*k)
   sqrt(fabs(disc))/(2*q)    
【答案解析】 按照题目中的要求,求出二次方程的根,分别为x1和x2。因此,空一处填“(-p+sqrt(disc))/(2*k)”。当方程的判别式小于0时,方程有两个虚根。因此,空二处填“-p/(2-k)”;空三处填“sqrt(fabs(disc))/(2*q)”。