精选问答
C中编一个程序求一个二元一次方程的解分三种情况

2019-04-13

C中编一个程序求一个二元一次方程的解
分三种情况
优质解答
首先要找到二元一次方程组的通解,例如:
ax+by=m
cx+dy=n
不难算出
x=(md-bn)/(ad-bc)
y=(mc-an)/(bc-ad)
这相当于知道了算法,接下来就可以编程序了:
main()
{ int a,b,c,d,m,n;
double x=0,y=0;
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&m,&n);
x=(m*d-b*n)/(a*d-b*c);
y=(m*c-a*n)/(b*c-a*d);
printf("x=%f,y=%f",x,y);
getch();
}
输入系数,就可以计算了
上面是求二元一次方程的根,根据“三种情况”不知你是否是想求一元二次方程的根,这里也给出程序供参考:
#include
#include
main()
{
int a,b,c;
float x1,x2,k;
printf(" input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a==0)
{ x1=-c/b;
printf("jie:x=%f",x1);
}
else
{ k=sqrt(b*b-4*a*c);
if(fabs(k-0.0)>=1e-6)
{ x1=((-b)+k)/2*a;
x2=((-b)-k)/2*a;
printf("jie:x1=%8.3f,x2=%8.3f",x1,x2);
}
else
{ x1=(-b)/2*a;
x2=k/2*a;
printf("jie:x1=%4.2f+%4.2fi ,x2=%4.2f-%4.2fi");
}
}
}
这个我试过了,OK!
首先要找到二元一次方程组的通解,例如:
ax+by=m
cx+dy=n
不难算出
x=(md-bn)/(ad-bc)
y=(mc-an)/(bc-ad)
这相当于知道了算法,接下来就可以编程序了:
main()
{ int a,b,c,d,m,n;
double x=0,y=0;
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&m,&n);
x=(m*d-b*n)/(a*d-b*c);
y=(m*c-a*n)/(b*c-a*d);
printf("x=%f,y=%f",x,y);
getch();
}
输入系数,就可以计算了
上面是求二元一次方程的根,根据“三种情况”不知你是否是想求一元二次方程的根,这里也给出程序供参考:
#include
#include
main()
{
int a,b,c;
float x1,x2,k;
printf(" input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a==0)
{ x1=-c/b;
printf("jie:x=%f",x1);
}
else
{ k=sqrt(b*b-4*a*c);
if(fabs(k-0.0)>=1e-6)
{ x1=((-b)+k)/2*a;
x2=((-b)-k)/2*a;
printf("jie:x1=%8.3f,x2=%8.3f",x1,x2);
}
else
{ x1=(-b)/2*a;
x2=k/2*a;
printf("jie:x1=%4.2f+%4.2fi ,x2=%4.2f-%4.2fi");
}
}
}
这个我试过了,OK!
相关问答