求大Lao告知这个怎么写,我是刚学不久

img


求大Lao告知这个怎么写,我是刚学不久,这个程序怎么写求告知

其实这东西很简单,我给你看个示例:

#include<stdio.h>
#include<math.h>  
/* 
    #include<math.h> 应为要实现指数和开根所以分别要使
    用pow函数和sqrt函数    pow(变量,指数)          sqrt(变量) 
*/
int main(void)
{
    double a, b, c, deta;                // 因为有小数,为了方便全部定义为双精度 
    double x1,x2;
    scanf("%lf %lf %lf", &a, &b, &c);
    deta = pow(b, 2) - 4 * a * c;        // 计算判断式的值 
    if(deta > 0) {
        // deta大于0 
        x1=(-b + sqrt(deta)) / 2 * a;
        x2=(-b - sqrt(deta)) / 2 * a;
        printf("x1=%.3lf\nx2=%.3lf\n", x1, x2);
    } else if(deta == 0) {
        // deta等于0 
        x1 = (-b) / (2 * a);
        x2 = (-b) / (2 * a);
        printf("x1=%.3lf\nx2=%.3lf\n", x1, x2);
    } else {
        // deta小于0 
        double m,n;                        // 因为是共轭复根,定义两个变量 
        m = (-b) / (2 * a);       
        n = sqrt(-deta)/(2*a);
        printf("x1=%.3lf+%.3lfi\nx2=%.3lf-%.3lfi\n", m, n, m, n); 
    }
    return 0;
 }

你只要了解一元二次方程怎么求就能写出来

int main() 
{ 
    int a=0,b=0,c=0;
    scanf("%d%d%d%",&a, &b, &c);
    float x1 = (-b + sqrt((float)(b*b-4*a*c)))/(2*a);
    float x2 = (-b - sqrt((float)(b*b-4*a*c)))/(2*a);
    printf("x1=%.3f\nx2=%.3f", x1,x2);
    return 0; 
}

边界值你自己判断一下