#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型,是什么原因呢
c语言求解,求解二元一次方程?
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+k...
C语言编程,二元一次方程组?
main(){ double a1,b1,c1,a2,b2,c2,x,y;printf("请依次输入A1、B1、C1、A2、B2、C2\\n");scanf("%lf%lf%lf%lf%lf%lf",&a1,&b1,&c1,&a2,&b2,&c2);x=(c1*b2-b1*c2)\/(a1*b2-b1*a2);y=(c1*a2-a1*c2)\/(b1*a2-a1*b2);printf("x=%lf,y=%lf\\n",x,y);} ...
用C语言解二元一次方程要用什么公式吗??
dx+ey+f=0 输入a,b,c,d,e,f这些系数后,转化为x=(-by-c)\/a,代入,d*(-by-c)\/a+ey+f=0 化简-b*d*y\/a-c*d\/a+ey+f=0 (ea-b*d)*y\/a=c*d\/a-f y=a*(c*d\/a-f)\/(ea-b*d)解出y后,x=(-by-c)\/a 代码实现:include <stdio.h> void main(){ double a,b,...
C语言求二元一次方程
int main(){ double a,b,c;printf("Please input a,b,c\\n");scanf("%f,%f,%f",&a,&b,&c);double dirt=b*b-4*a*c;if (a==0)\/\/两个== printf("此方程非二元一次方程");if (dirt==0)\/\/两个== { printf("x1,x2=%f",(-b)\/(2*a));} else\/\/加大括号 不解释 {...
如何用C语言解二元一次方程组
给定一个二元一次方程组,形如:a * x + b * y = c;d * x + e * y = f;x,y代表未知数,a, b, c, d, e, f为参数。求解x,y。2、数据规模和约定:0 <= a, b, c, d, e, f <= 2147483647。3、设计思路:二元一次方程组是由两个含有两个未知数的方程组成的,要求解,...
c语言求解任意系数的二元一次方程
&c); delta = b * b - 4 * a * c; if (a == 0) { \/*一元一次方程, bx+c=0, x=-c\/b*\/ printf("x = %g", - c \/ b); } else { if (delta < 0.0) { \/*方程无解*\/ printf("
用c编程求二元一次方程ax^2+bx+c=0的根
b,c,x1,x2,p,q,disc;printf("inputa,b,c\\n");scanf("a=%f,b=%f,c=%f",&a,&b,&c);disc=b*b-4*a*c;if(disc<0){ printf("没根\\n");} else { p=-b\/(2*a);q=sqrt(disc)\/(2*a);x1=p+q;x2=p-q;printf("\\nx1=%5.2f\\nx2=%5.2f\\n",x1,x2);} } ...
用C语言编写解二元一次方程的程序?
输入没有错误;x 总是在前面,y 总是在后面;不存在某个变量系数为 0 的情况(即总是二元方程);不考虑小数,其实考虑小数也简单,你可以自己思考如何实现。首先,使用 scanf() 将回车之前的整个字符串扫描进来,放进 str 变量中;之后,分别以 x y = 为界,找到它们分隔的三个字符串,即从 ...
怎么用c语言编一个程序解二元一次方程
这个只能计算已经化简成aX^2+bX+c=0的一元二次方程 int fun(double a,double b,double c,double *x1,double *x2)\/\/由于方程既可能无解也可能有两个解,所以不能直接返回X的值{ double p=b*b-4*a*c;\/\/计算Δ if (p<0) { return 0;\/\/方程无解,返回0 } p=√...
c语言编写二元一次方程组求解,菜鸟级,帮忙指出错误,谢谢
main(){ int x1,x2,x3,y1,y2,y3,d1,d2,d3;\/*赋任意值,已知数和未知数都是整数 \/ signed int x=-32767,y=-32767;\/*未知数取值范围,可修改*\/ int r1=0,r2=0,r3=0;\/*方程是否成立变量*\/ int suc=0;\/*解题是否成功变量*\/ for(;x<=32767;x++){ for(y=-32767;y<=32767;y...