关于C语言 求一元二次方程ax2+bx+c=0的解 用选择结构

关于C语言求一元二次方程ax2+bx+c=0的解用选择结构普通的结构我会了我需要选择结构用IF来编写... 关于C语言 求一元二次方程ax2+bx+c=0的解 用选择结构 普通的结构我会了 我需要选择结构 用IF 来编写 展开
 我来答
匿名用户
2013-05-18
展开全部
#include<stdio.h>
#include<math.h>
float x1,x2,disc,realpart,imagpart;//全局变量
float great_than_zero(float a,float b)//disc>0时的函数
{
x1=(float)(-b+sqrt(disc))/(2*a);//(v6默认是double型),强制类型转换使数类型据统一
x2=(float)(-b-sqrt(disc))/(2*a);
return(0);
}
float equal_to_zero(float a,float b)//disc=0时的函数
{
x1=x2=-b/(2*a);
return(0);
}float smaller_than_zero(float a,float b)//disc<0时的函数
{
realpart=-b/(2*a);//复根的实部
imagpart=(float)sqrt(-disc)/(2*a);//复根的虚部
return(0);
}int main()
{
float a,b,c;
int flag=1;
while(flag)
{
printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
printf("The equation:");
if(fabs(a)<=1e-6)
printf("is not a quadratic.input date again!\n"); else
{

printf("%5.2f*x*x+%5.2f*x+%5.2f=0\n",a,b,c);
printf("root:");
disc=b*b-4*a*c;
if(disc>0)
{
great_than_zero(a,b);
printf("has distinct real roots:x1=%5.2f\tx2=%5.2f\n",x1,x2);
}
else if(fabs(disc)<=1e-6)
{
equal_to_zero(a,b);
printf("has two equal roots:x1=x2=%5.2f\n",x1,x2);
}
else
{
smaller_than_zero(a,b);
printf("hascomplex roots:x1=%5.2f+%5.2fi\tx2=%5.2f-%5.2fi\n",realpart,imagpart,realpart,imagpart);
}
flag=0;
}
}
}
运行如下:
厦门鲎试剂生物科技股份有限公司
2023-08-01 广告
计算过程如下:首先,计算4个数值的和:∑Xs = 0.3 + 0.2 + 0.4 + 0.1 = 1然后,计算 lg-1(∑Xs/4):lg-1(∑Xs/4) = lg-1(1/4) = -1其中,lg表示以10为底的对数,即 log10。... 点击进入详情页
本回答由厦门鲎试剂生物科技股份有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式