X 我知道了TIPS:左右滑动导航栏可以查看更多栏目
如何用C语言来计算一元二次方程
>> 本文固定链接: http://www.vcgood.com/archives/733
>> 转载请注明: hjhhm 2006年05月29日 于 C语言帝国 发表
C语言实现一元二次方程的解 源程序
#include<stdio.h>#include<math.h>float x1,x2,p,q,d;float great_than_zero(float,float);float equql_to_zero(float,float);float smaller_than_zero(float,float);main(){float a,b,c;printf(“Enter a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);d=b*b-4*a*c;if(d>0){ great_than_zero(a,b); printf(“x1=%5.2f\tx2=5.2f\n”,x1,x2); }else if(d==0) { equal_to_zero(a,b); printf(“x1=x2=%6.2f\n”,x1); } else { smaller_than_zero(a,b); printf(“x1=%5.2f+%5.2f\n”,p,q); printf(“x2=%5.2f-%5.2f\n”,p,q); } return 0;}float great_than_zero(float x,float y){ x1=(-y+sqrt(d))/(2*x); x2=(-y-sqrt(d))/(2*x); return ; }
float equql_to_zero(float x,float y){ x1=(-y)/(2*x); return;}
float smaller_than_zero(float x,float y){ p=-y/(2*x); q=sqrt(-d)/(2*x); return; }
VC爱好者38866.9887847222
一定注意,最好不要直接与会0比,这样容易出错,与一个非常小的数比比较好,比如10的负6次方
你必须先 登录才能发表评论。
C语言实现一元二次方程的解 源程序
#include<stdio.h>
#include<math.h>
float x1,x2,p,q,d;
float great_than_zero(float,float);
float equql_to_zero(float,float);
float smaller_than_zero(float,float);
main()
{
float a,b,c;
printf(“Enter a,b,c:”);
scanf(“%f%f%f”,&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
great_than_zero(a,b);
printf(“x1=%5.2f\tx2=5.2f\n”,x1,x2);
}
else if(d==0)
{
equal_to_zero(a,b);
printf(“x1=x2=%6.2f\n”,x1);
}
else
{
smaller_than_zero(a,b);
printf(“x1=%5.2f+%5.2f\n”,p,q);
printf(“x2=%5.2f-%5.2f\n”,p,q);
}
return 0;
}
float great_than_zero(float x,float y)
{
x1=(-y+sqrt(d))/(2*x);
x2=(-y-sqrt(d))/(2*x);
return ;
}
float equql_to_zero(float x,float y)
{
x1=(-y)/(2*x);
return;
}
float smaller_than_zero(float x,float y)
{
p=-y/(2*x);
q=sqrt(-d)/(2*x);
return;
}
一定注意,最好不要直接与会0比,这样容易出错,与一个非常小的数比比较好,比如10的负6次方