在用C语言求解一元二次方程的时候,首先,最重要的肯定是要引入"math.h"这个头文件,其次要会运用相关的数学库函数,如“sqrt”,“delta”等。

让我们一起在代码中寻找问题吧。

#include <stdio.h>
#include <math.h>
int main (void)
{
    int a = 1,b = 2,c = 1;
    float x1 , x2 , delta ;
    delta = b*b - 4*a*c ;

    if ( delta > 0 )

    {
        x1 = (-b-sqrt(delta)) / (2*a);
        x2 = (-b+sqrt(delta)) / (2*a);
        printf ("该方程有两解,x1 = %f\n,x2 = %f\n",x1,x2);
    }

    else if (delta == 0)
    {
        x1 = (-b) / (2*a);
        x2 = x1;
        printf ("该方程有唯一解,x1 = x2 = %f\n",x1 = x2);
    }

    else if (delta < 0)
    {
        printf ("该方程无解\n");
    }
    return 0;
 } 

这是之前我发的第一个博客代码,现在我看到“数一数二的白落”的评价后又优化了一些,代码如下:

#include <stdio.h>
#include <math.h>
int main (void)
{
    int a, b, c;
    printf("请输入一元二次方程的三个系数:\n");
    scanf("%d %d %d",&a,&b,&c);
    float x1 , x2 , delta ;
    delta = b*b - 4*a*c ;

    if ( delta > 0 )

    {
        x1 = (-b-sqrt(delta)) / (2*a);
        x2 = (-b+sqrt(delta)) / (2*a);
        printf ("该方程有两解,x1 = %f\n,x2 = %f\n",x1,x2);
    }

    else if (delta == 0)
    {
        x1 = (-b) / (2*a);
        x2 = x1;
        printf ("该方程有唯一解,x1 = x2 = %f\n",x1 = x2);
    }

    else if (delta < 0)
    {
        printf ("该方程无解\n");
    }
    return 0;
 } 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐