当前位置: 代码迷 >> C语言 >> 请教一个二元一次方程组的算法或程序
  详细解决方案

请教一个二元一次方程组的算法或程序

热度:452   发布时间:2006-02-09 22:42:00.0
请教一个二元一次方程组的算法或程序
最近在做这个作业,想不出来了,ax+by=m;cx+dy=n;求x,y.请告人指点算法或程序,谢了,可能基础不是很好,见笑

[此贴子已经被作者于2006-2-9 22:43:05编辑过]


搜索更多相关的解决方案: 一次方程  算法  作业  

----------------解决方案--------------------------------------------------------

这个不用说啦,去看下初中课本,不过值得注意的是,这方程可能有无解(或者说是无数解)的情况,注意下


----------------解决方案--------------------------------------------------------
是个C语言编程题,不是通过笔算,是写C语言程序
----------------解决方案--------------------------------------------------------
以下是引用spary123在2006-2-10 9:38:00的发言:
是个C语言编程题,不是通过笔算,是写C语言程序

我明白你的意思,这题写程序就是把笔算的过程展示出来


----------------解决方案--------------------------------------------------------

同二楼,无数解.

ax+by=m;cx+dy=n

八个未知数,二个方程.而且a,b,c,d,没有范围限制,根本解不出来.


----------------解决方案--------------------------------------------------------
是这样,a,b,c,d,m,n均假设为常数
----------------解决方案--------------------------------------------------------
常量应该有个数值呢,
----------------解决方案--------------------------------------------------------
以下是引用Fjcyz在2006-2-10 22:23:00的发言:
常量应该有个数值呢,

这题的意思是a,b,c,d,m,n的值由键盘输入,求x,y的值。只要特别注意下无解和无数解的情况就行


----------------解决方案--------------------------------------------------------
原来如此.

#include "stdio.h"
main()
{
int a,b,c,d,x,y,m,n;
printf ("请输入a,b,c,d,m,n值,并以空格为分隔符\n\n");
scanf ("%d%d%d%d%d%d",a,b,c,d,m,n);
x=(b*n-m*d)/(b*c-a*d);
y=(m-a*x)/b;
printf ("x=%d,y=%d\n\n",x,y);
}

奇怪为什么算出来不对???

[此贴子已经被作者于2006-2-10 23:21:42编辑过]


----------------解决方案--------------------------------------------------------
以下是引用Fjcyz在2006-2-10 23:20:00的发言:
原来如此.

#include "stdio.h"
main()
{
int a,b,c,d,x,y,m,n;
printf ("请输入a,b,c,d,m,n值,并以空格为分隔符\n\n");
scanf ("%d%d%d%d%d%d",a,b,c,d,m,n);
x=(b*n-m*d)/(b*c-a*d);
y=(m-a*x)/b;
printf ("x=%d,y=%d\n\n",x,y);
}

奇怪为什么算出来不对???

首先没考虑无解和无数解的情况
第二解应该是 浮点数
----------------解决方案--------------------------------------------------------

  相关解决方案