$$ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Self-defined math definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Math symbol commands \newcommand{\intd}{\,{\rm d}} % Symbol 'd' used in integration, such as 'dx' \newcommand{\diff}{{\rm d}} % Symbol 'd' used in differentiation ... $$

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;
  }
posted @ 2022-11-18 11:28  Shin404  阅读(265)  评论(0)    收藏  举报