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