c语言三元一次方程组精选
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。
c语言三元一次方程组篇一
c语言实习总结
推荐度:
c语言课程设计个人总结
推荐度:
c语言程序设计实验报告
推荐度:
c语言程序设计心得体会
推荐度:
c语言程序设计的实验报告
推荐度:
相关推荐
3元1次方程很多算法都和矩阵相关,怎样写个算线性方程组的程序呢?以下是为大家分享的c语言解3元1次方程组示例,供大家参考借鉴,欢迎浏览!
#include "stdafx.h"//vs2010需要
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
double x[3];//存放解x,y,z,使用数组便于输出
//x=1,y=2,z=3
//double a[3][4]=
//{
//1,1,1,-6,
//1,1,-1,0,
//1,-1,1,-2
//};
//x=2,y=5,z=10
double a[3][4]=
{
1,2,3,-42,
2,-1,5,-49,
-1,3,-3,17
};
//a的'第一个方程分别与2、3个方程联合消去z,得到x,y的两个方程,存入b
double b[2][4];
//b的两个方程联合消去y,得到x
double c[1][4];
void combineb(int i)//a[0]与a[1]或a[2]消去z
{
double m0=abs(a[i][2]);
int b=a[0][2]*a[i][2]>0?-1:1;
double mi=b*abs(a[0][2]);
//printf("m0=%lf,mi=%lfn",m0,mi);//调试用
for(int j=0;j<4;j++)
{
b[i-1][j]=a[0][j]*m0+a[i][j]*mi;
}
}
void combinec()//b[0]与b[1]消去y
{
double m0=abs(b[1][1]);
int b=b[0][1]*b[1][1]>0?-1:1;
double m1=b*abs(b[0][1]);
for(int j=0;j<4;j++)
{
c[0][j]=b[0][j]*m0+b[1][j]*m1;
}
}
//显示4个参数
void show(double n[][4],int d1)
{
char w[3]={'x','y','z'};
for(int i=0;i<d1;i++)
{
for(int j=0;j<3;j++)
{
printf("%lf * %c + ",n[i][j],w[j]);
}
printf("%lf = 0n",n[i][3]);
}
printf("nn");
}
int _tmain(int argc, _tchar* argv[])
{
show(a,3);
combineb(1);
combineb(2);
show(b,2);
combinec();
show(c,1);
//得到x后则依次算出其他数字
x[0]=(0-c[0][3])/c[0][0];
x[1]=(0-b[0][3]-b[0][0]*x[0])/b[0][1];
x[2]=(0-a[0][3]-a[0][0]*x[0]-a[0][1]*x[1])/a[0][2];
//输出结果
for(int i=0;i<3;i++)
printf("x[%d]=%lft",i,x[i]);
printf("n");
system("pause");
return 0;
}
2.截图
s("content_relate");【c语言解3元1次方程组示例】相关文章:
c语言基本语法示例
10-06
c语言线程终止练习示例
11-21
c语言socket编程开发应用示例
10-05
c语言计算日期差的方法示例
10-08
希尔排序算法的c语言实现示例
10-04
c语言for循环
09-27
桶排序算法的理解及c语言版代码示例
10-04
怎样学习c++c语言编程
09-22
assert用法(c语言)
11-24