C语言:一元二次方程求解
题目
已知一元二次方程𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0,输入系数a,b,c,先判断是否有实数根,若有则输出方程的解,若无则输出“无实数根”。
例如:
输入:1 2 3
输出:1 -3
代码
#include <stdio.h>
#include <math.h>
int main(){
int a,b,c;
double drt;
scanf("%d %d %d",&a,&b,&c);
if(a==0){
printf("%lf",0.0-c/b);
return 0;
}
drt = b * b - 4 * a * c;
if(drt < 0){
printf("无实数根");
}
else{
if(drt==0)
printf("%lf",(0 - b) / (2.0 * a));
else
printf("%lf %lf",(sqrt(drt) - b) / (2.0 * a),(0 - b - sqrt(drt)) / (2.0 * a));
}
return 0;
}

浙公网安备 33010602011771号