加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C一元二次方程求解

发布时间:2020-12-16 09:17:27 所属栏目:百科 来源:网络整理
导读:#includestdio.h #include stdlib.h #include math.h int main() { // putchar输出字符,getchar输入字符,printf格式输出,scanf格式输入,puts输出字符串,gets输入字符串 // 一元二次方程求解 float a,b,c; printf( " Input a,c : " ); scanf( " %f %f %f " ,a
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main() {
    // putchar输出字符,getchar输入字符,printf格式输出,scanf格式输入,puts输出字符串,gets输入字符串
    // 一元二次方程求解
    float a,b,c;
    printf("Input a,c :");
    scanf("%f %f %f",&a,&b,&c);
    if (fabs(a) <= 1e-15)    //条件:当|a|<0 时  可以改成<=EPS
    {                     //1e-15  表示一个极小的数  浮点型零就是一个近似值
        printf("不是一元二次方程");
        printf("x = %.2f",c / b);
        exit(0);              //执行到此处 程序返回0 并退出
    } else {
        float disc,p,q,x1,x2;
        disc = b * b - 4 * a * c;
        p = -b / (2 * a);
        q = sqrt(fabs(disc)) / (2 * a);
        if (fabs(disc) <= 1e-15) {
            printf("x1 = x2 = %.2f",p);
        } else if (disc > 1e-15) {
            printf("x1 = %.2f,x2 = %.2f",p + q,p - q);
        } else  //(德尔塔小于0 )
        {
            printf("x1 = %.2f+%.2fin",q);
            printf("x1 = %.2f-%.2fin",q);
        }

    }
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读