用C语言编写程序:N元一次方程组的解
*/
# include
int main(void)
{
int i, j, m, n, r, k=0, t; //i,j,m,k,t 作为循环计数变量;n 表示有n 个未知数,即2013年4月9日 12:23:20 功能:已知有一三元一次方程组如下, 方程系数由键盘输入,求其3个根。 n 元;r 表示有r 个方程组成方程组。
//
n = r = 3; printf("请输入未知数个数n 和方程的个数:\n"); scanf("%d %d", &n, &r); //n表示有n 个未知数,即n 元;r 表示有r 个方程组成方程组。
float a[11][20]; //用二维数组存储方程组参数。11和100课改动。这里的程序限 10 元 20 个方程的方程组。
/*
用。
{ } for(i=0; i
*/
if(r
a[1][0],a[2][0],a[2][1]的值转换为0;t=1时,才将其转换成最简型阶梯矩阵。
{ for(m=0; m
a[j][i] -= a[m][i]*b[k]; b[k]=0; //此处是必不可少的。因为内存中会有垃圾值,必须要处理。
} for(j=0; j
{ } a[j][n] /= a[j][j]; a[j][j] /=a[j][j];
} for(j=0; j
}
/*
输入为:2 2 -1 6 1 -2 4 3 5 7 1 28
即方程组为:2x+2y- z=6
x-2y+4z=3 5x+7y+ z=28 return 0; for(j=0; j
其正确结果是:x=1,y=3,z=2
在VC++6.0中的输出结果是:
——————————————————————
请输入未知数个数n 和方程的个数:
3 3
请输入方程组参数
2 2 -1 6 1 -2 4 3 5 7 1 28
方程有唯一解
x[0] = 1.000000
x[1] = 3.000000
x[2] = 2.000000
1.000000 -0.000000 0.000000 1.000000 0.000000 1.000000 0.000000 3.000000 0.000000 0.000000 1.000000 2.000000 */