c语言求解,求解二元一次方程?
#include<stdio.h>#include<math.h>voidmain(){doublex1,x2,a,b,c,deta;printf("按降次的顺序输入系数...
#include<stdio.h>
#include<math.h>
void main()
{
double x1,x2,a,b,c,deta;
printf("按降次的顺序输入系数a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
printf("要求解方程为:\n%fx^2+%fx+%f=0\n",a,b,c);
deta=b*b-4*a*c;
if(deta>0)
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("该方程有两个不等的实数根\nx1=%f\nx2=%f\n",x1,x2);
}
else if(deta==0)
{
x1=x2=-b/(2*a);
printf("该方程有两个相等的实数根\nx1=x2=%f\n",x1);
}
else
printf("该方程没有实数根,有两个虚根分别为:\nx1=%f+%fi\nx2=%f-%fi\n",(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)),(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)));
}
这样子的话根本求不到解的,但是把类型改为下面的话就可以求出结果:
#include<stdio.h>
#include<math.h>
void main()
{
double x1,x2;
float a,b,c,deta;
printf("按降次的顺序输入系数a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
printf("要求解方程为:\n%fx^2+%fx+%f=0\n",a,b,c);
deta=b*b-4*a*c;
if(deta>0)
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("该方程有两个不等的实数根\nx1=%f\nx2=%f\n",x1,x2);
}
else if(deta==0)
{
x1=x2=-b/(2*a);
printf("该方程有两个相等的实数根\nx1=x2=%f\n",x1);
}
else
printf("该方程没有实数根,有两个虚根分别为:\nx1=%f+%fi\nx2=%f-%fi\n",(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)),(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)));
}
求解,这个double型的为何一定要改为float型,是什么原因呢 展开
#include<math.h>
void main()
{
double x1,x2,a,b,c,deta;
printf("按降次的顺序输入系数a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
printf("要求解方程为:\n%fx^2+%fx+%f=0\n",a,b,c);
deta=b*b-4*a*c;
if(deta>0)
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("该方程有两个不等的实数根\nx1=%f\nx2=%f\n",x1,x2);
}
else if(deta==0)
{
x1=x2=-b/(2*a);
printf("该方程有两个相等的实数根\nx1=x2=%f\n",x1);
}
else
printf("该方程没有实数根,有两个虚根分别为:\nx1=%f+%fi\nx2=%f-%fi\n",(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)),(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)));
}
这样子的话根本求不到解的,但是把类型改为下面的话就可以求出结果:
#include<stdio.h>
#include<math.h>
void main()
{
double x1,x2;
float a,b,c,deta;
printf("按降次的顺序输入系数a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
printf("要求解方程为:\n%fx^2+%fx+%f=0\n",a,b,c);
deta=b*b-4*a*c;
if(deta>0)
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("该方程有两个不等的实数根\nx1=%f\nx2=%f\n",x1,x2);
}
else if(deta==0)
{
x1=x2=-b/(2*a);
printf("该方程有两个相等的实数根\nx1=x2=%f\n",x1);
}
else
printf("该方程没有实数根,有两个虚根分别为:\nx1=%f+%fi\nx2=%f-%fi\n",(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)),(float)(-b/(2*a)),(float)((sqrt(-deta))/(2*a)));
}
求解,这个double型的为何一定要改为float型,是什么原因呢 展开
5个回答
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
float x1,x2;
float x3,x4;
float k1,k2,k3;
printf("please input:a,b,c");
scanf("%f%f%f",&a,&b,&c);
k1=b*b;
k2=4*a*c;
k3=sqrt(b*b-4*a*c);
if(fabs(a)<=1e-6)
{
printf("the input is error\n");
return;
}
if(k1>k2)
{
x1=(-b+k3)/(2*a);
x2=(-b-k3)/(2*a);
printf("x1=%.2f,x2=%.2f",x1,x2);
}
else if(k1==k2)
{
x1=x2=(-b+k3)/(2*a);
printf("x1=x2=%.2f",x1);
}
else
{
x3=-b/(2*a);
x4=sqrt(4*a*c-b*b)/(2*a);
printf("x1=%.2f+%.2f i\n",x3,x4);
printf("x2=%.2f-%.2f i\n",x3,x4);
}
给点赞助!}
#include<math.h>
void main()
{
float a,b,c;
float x1,x2;
float x3,x4;
float k1,k2,k3;
printf("please input:a,b,c");
scanf("%f%f%f",&a,&b,&c);
k1=b*b;
k2=4*a*c;
k3=sqrt(b*b-4*a*c);
if(fabs(a)<=1e-6)
{
printf("the input is error\n");
return;
}
if(k1>k2)
{
x1=(-b+k3)/(2*a);
x2=(-b-k3)/(2*a);
printf("x1=%.2f,x2=%.2f",x1,x2);
}
else if(k1==k2)
{
x1=x2=(-b+k3)/(2*a);
printf("x1=x2=%.2f",x1);
}
else
{
x3=-b/(2*a);
x4=sqrt(4*a*c-b*b)/(2*a);
printf("x1=%.2f+%.2f i\n",x3,x4);
printf("x2=%.2f-%.2f i\n",x3,x4);
}
给点赞助!}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
scanf("%f%f%f",&a,&b,&c);
因为你这里是要输入三个float型的数据,所以a b c的数据类型要是float的 呵呵
这样的话:
scanf("%lf%lf%lf",&a,&b,&c);
a b c就可以定义为double类型的数据啦~~
因为你这里是要输入三个float型的数据,所以a b c的数据类型要是float的 呵呵
这样的话:
scanf("%lf%lf%lf",&a,&b,&c);
a b c就可以定义为double类型的数据啦~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为scanf("%f%f%f",&a,&b,&c);
scanf 时,格式定义和类型必须一致
这里输入是float,如果用double的abc会出问题
scanf 时,格式定义和类型必须一致
这里输入是float,如果用double的abc会出问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面两个都是高手啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询