C 语言范例 - 一元二次方程

求一元二次方程:ax2+bx+c=0 的根

输入三个实数 a, b, c 的值,要求 a 不等于 0 。

/**
 * file: main.c
 * author: 简单教程(www.twle.cn)
 */


#include <stdio.h>
#include <math.h>

int main()
{
        float a,b,c,x1,x2,d;

        printf("输入方程的三个系数 a b c:");

        scanf("%f %f %f",&a,&b,&c);

        if(a!=0)
        {
            d = sqrt(b*b-4*a*c);
            x1 = (-b+d)/(2*a);
            x2 = (-b-d)/(2*a);
            if(x1<x2) 
                printf("%0.2f %0.2f\n",x2,x1); 
                else
                printf("%0.2f %0.2f\n",x1,x2);
        }
        return 0;
}

编译运行范例,输出结果如下

$ gcc main.c && ./a.out
输入方程的三个系数 a b c:9 7 1
-0.19 -0.59

C 语言范例

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.