#include stdio.h
成都创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业成都IDC机房托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
#include math.h
int main()
{
void fangcheng(float a,float b,float c);
float a,b,c;
printf("输入a,b,c\n");
scanf("%f,%f,%f",a,b,c);
fangcheng(a,b,c);
return 0;
}
void fangcheng(float a,float b,float c)
{ float x,x1,x2,D;
D=b*b-4*a*c;
if(D0){
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2);}
else if(D==0){
x=(-b+sqrt(D))/(2*a);
printf("x=%f",x);}
else
printf("无解");
}
采用C语言编程解方程,有两种情况:
1 简单的方程,比如一元一次方程,或者多元一次方程,以及一元二次方程等,这类数学上有固定的解题方法的,可以在程序中输入参数,并按照数学方法,进行求解。
2 复杂的方程,比如高次方程,或者积分方程等,对于这类问题,在数学上有着自己的解法,但是移植到计算机中操作会比较繁琐,不易于编程实现。所以这类方程在计算机领域中,专门开发了更高效的算法,不适于笔算,但更符合计算机的工作方式。这时需要查找或学习对应算法并实现。
#includemath.h
main()
{float a,b,c disc,x1,x2;
printf("please input a b c");
scanf("%f%f%f",a,b,c);
disc=b*b-4a*c;
if(fabs(disc)=1e-6)printf("x1=x2=%7.2f\n",-b/(2*a));
else{if(fabs(disc.1e-6)){x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/2*a;
printf("x1=%7.2f,x2=%7.2f\n",x1,x2);}
else{p=-b/(2*a);q=sqrt(fabs(disc)/2*a);
printf("x1=%7.2f+%7.2fi\n",p,q);
pintf("x2=%7.2f-%7.2fi\n",p.q);}}
}
#includestdio.h
double
val(double
a00,double
a11,double
a01,double
a10)
{
return
a00*a11-a01*a10;
}
void
main()
{
double
a1,b1,c1,a2,b2,c2;
double
m1,m2,m3;
printf("Please
input
a1,b1,c1\n");
scanf("%lf%lf%lf",a1,b1,c1);
printf("Please
input
a2,b2,c2\n");
scanf("%lf%lf%lf",a2,b2,c2);
m1
=
val(a1,b2,a2,b1);
m2
=
val(c1,b2,c2,b1);
m3
=
val(c1,a2,c2,a1);
if(m1==0){
if(m2==0
m3==0)
printf("无数解\n");
else
printf("无解\n");
}else
printf("x=%lf,y=%lf\n",m2/m1,-m3/m1);
}
这个是先求行列式的值,然后判断其是否为0,讨论解的情况,当有唯一解的时候,输出x和y的值。
val()函数用于计算2x2行列式的值。
有不明白的地方可以追问,望采纳:)
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款