题解 | 细节很重要 #计算一元二次方程#

计算一元二次方程

http://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26

#include<math.h>

int main(){
    
    float a,b,c;
    for(;~scanf("%f %f %f",&a,&b,&c);printf("\n")){//多组输入,每组结束换行
    if(a){//在a为真(也就是非0)的情况下
        float d=b*b-4*a*c;//计算德尔塔
        if(d>0){//德尔塔大于0
            printf("x1=%.2f;x2=%.2f",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a));//这里注意!1.分子分母最好分别用 括号括起来 2. 用%.2f保留小数点后两位
        }
        else if(d==0)//德尔塔等于0
            printf("x1=x2=%.2f",(-b+sqrt(d))/(2*a));//如上点1:>   2*a一定要用括号括起来
        else if(d<0){德尔塔小于0
            float r=-b/(2*a);
            float i=sqrt(-d)/(2*a);
            printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi",r,i,r,i);//如上点2:> 仔细点 格式不要出错
            }
    }
    else//a为0的情况下
        printf("Not quadratic equation");
    }
    return 0;//程序结束
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务