程序填空题:求方程的根
请完善程序,实现以下程序功能:从键盘上输入a、b、c三个系数的值(双精度实数),求方程的根并输出。<br>
输入样例1:<br>
5 9 2 <br>
输出样例1:<br>
x1=-0.26 <br>
x2=-1.54 <br>
输入样例2:<br>
9 2 6 <br>
输出样例2:<br>
x1=-0.11+0.81i <br>
x2=-0.11-0.81i <br>
#include <stdio.h>
#include <math.h>
int main(void)
{int i;for(i=1;i<=3;i++){ //该循环用于自动阅卷,请考生忽略
double a,b,c,d,x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
d=;
if(d>=0)//两个实根
{x1=;
x2=;
printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
}
else//输出两个共轭复根,结果保留两位小数
{printf();//输出形如x1=a+bi的形式并换行
printf();//输出形如x2=a-bi的形式并换行
}
} //该循环用于自动阅卷,请考生忽略
return 0;
}
答案:
第1空:b*b-4*a*c
第2空:(-b+sqrt(d))/(2*a)
第3空:(-b-sqrt(d))/(2*a)
第4空:"x1=%.2lf+%.2lfi\n",-b/(2*a),sqrt(-d)/(2*a)
第5空:"x2=%.2lf-%.2lfi\n",-b/(2*a),sqrt(-d)/(2*a)
输入样例1:<br>
5 9 2 <br>
输出样例1:<br>
x1=-0.26 <br>
x2=-1.54 <br>
输入样例2:<br>
9 2 6 <br>
输出样例2:<br>
x1=-0.11+0.81i <br>
x2=-0.11-0.81i <br>
#include <stdio.h>
#include <math.h>
int main(void)
{int i;for(i=1;i<=3;i++){ //该循环用于自动阅卷,请考生忽略
double a,b,c,d,x1,x2;
scanf("%lf%lf%lf",&a,&b,&c);
d=;
if(d>=0)//两个实根
{x1=;
x2=;
printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
}
else//输出两个共轭复根,结果保留两位小数
{printf();//输出形如x1=a+bi的形式并换行
printf();//输出形如x2=a-bi的形式并换行
}
} //该循环用于自动阅卷,请考生忽略
return 0;
}
答案:
第1空:b*b-4*a*c
第2空:(-b+sqrt(d))/(2*a)
第3空:(-b-sqrt(d))/(2*a)
第4空:"x1=%.2lf+%.2lfi\n",-b/(2*a),sqrt(-d)/(2*a)
第5空:"x2=%.2lf-%.2lfi\n",-b/(2*a),sqrt(-d)/(2*a)