栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言高斯消元法的使用详解

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言高斯消元法的使用详解

学过数学的人都知道,高斯消元法是解线性方程组是,算法很简单,但过程很复杂,这就是我在网上找不到免费的且正确的高斯消元法的原因了。所以我下决心自己编,结果I do it.
高斯消元法的用途很广,它是解决数学问题最重要的方法之一,在《计算方法》这本书的第一章就讲的是高斯消元法,很多问题最终归结为解线性方法组。
因为我是个编程初学者,所以这个程序在高手看来可能会觉得funny.不过我不介意,还请你们多多指教。
我这个程序是用C语言编的,其它语言没有学过,上大学非计算机专业的学生一般都只学C语言,所以这个程序很适合大学生们。
希望大学能多指出我程序的缺点,并给我多提意见,谢谢大家。
复制代码 代码如下:
#include "Stdio.h"
#include "Conio.h"

#define L 3
#define N 4
#define M 5
void gauss(double a[N][M],double x[N])
{int i,j,l,n,m,k=0;
 double temp[N];
 
 do{n=0;
 for(l=k;l for(m=0,i=k;i for(j=k;j k++;
 }while(k 
 k=L-1;
 do{n=0;
 for(l=k;l>=0;l--)temp[n++]=a[k-l][k+1]/a[k+1][k+1];
 for(m=0,i=k;i>=0;i--,m++)
 for(j=k;j k--;
 }while(k>=0) ;
 
 for(i=0;i

}
void menu()
{printf("n _ _ _ _ _n");
 printf(" 1.operationn");
 printf(" 2.exit");
 printf("n _ _ _ _ _n");
}
main()
{int i,j,choose;
 double a[N][M]={0},answer[N];
 clrscr();
 while(1){
 leep:menu();
 scanf("%d",&choose);
 switch(choose){
 case 1:
 printf("!!The size of Maxrix is %d * %d,each line enter %d element:n ",N,M,M);
 for(i=0;i {printf("Enter the Matrix's %d line:n",i);
 for(j=0;j scanf("%lf",&a[i][j]);
 }
 printf("nthe corss matrix is:n_ _ _ _ _n");
 gauss(a,answer);
 for(i=0;i {for(j=0;j printf("%-2lf ",a[i][j]);
 putchar('n');
 }
 printf("_ _ _ _ _nthe solve is:n");
 for(i=0;i case 2:
 exit(0);
 default:printf("input error:n");goto leep;
 }
 }
 getch();
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/66707.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号