
用C语言求解一元二次方程的简单方法
·
在用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;
}
更多推荐
所有评论(0)