计算机c语言的问题,在线急等

来源:百度知道 编辑:UC知道 时间:2024/09/20 11:35:12
1.填空题
请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。
例如,当a=1,b=2,c=1时,方程的两个根分别是:x1=-1.00,x2=-1.00。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,c,disc,x1,x2,p,q;
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
system("CLS");
printf("*******the result *******\n");
if(disc>=0)
{
x1=【1】;
x2=(-b-sqrt(disc))/(2*a);
printf("x1=%6.2f,x2=%6.2f\n",x1,x2);
}
else
{
p=【2】;
q=【3】;
printf("x1=%6.2f+%6.2f i\n",p,q);
printf("x2=%6.2f-%6.2f i\n",p,q);
}

第二个和第三个空怎么来的?答案上只说是根据格式得

1.x1=(-b-sqrt(disc))/(2*a); 当if(disc>=0) 条件成立的时候,在数学方面而言,就是当方程有两个跟的时候,执行x1,x2,连个求根语句,以此两个语句相同。
2.p=-b/(2*a);
3.q=sqrt(-disc)/(2*a);
2,3分别是求虚根的实部和虚部。

[1]: (-b+sqrt(disc))/(2*a);
[2]: -b/(2*a)
[3]: sqrt(-disc)/(2*a)