| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1373 人关注过本帖
标题:用高斯消去法解线性方程组
只看楼主 加入收藏
望乡潭
Rank: 1
等 级:新手上路
帖 子:12
专家分:8
注 册:2010-2-22
结帖率:100%
收藏
 问题点数:0 回复次数:0 
用高斯消去法解线性方程组
#include<stdio.h>
#define M 10                               //可计算最大方程组个数

void jsValue(int n,float **a,float x[]);   //函数声明

main()
{
    int i,j,n;  
    float a[M][M+1],x[2];                    //数组a为系数,数组x为方程的解
        puts("input n:");                   //输入方程组个数
        scanf("%d",&n);
        puts("input array a:");               
    for(i=0;i<n;i++)                        //输入方程组的系数增广矩阵
    {
        for(j=0;j<n+1;j++)
            scanf("%f",&a[i][j]);
    }
    jsValue(n,a,x);                            //调用函数
    for(i=0;i<n;i++)                        //输出方程的解
        printf("%-10.2f",x[i]);
}

void jsValue(int n,float a[M][M+1],float x[])
{
    // 高斯消去法
    int i,j,k;
/**********消去过程***********/
for(k=0;k<n;k++)
{
    for(j=k+1;j<n+1;j++)
        a[k][j]/=a[k][k];
    for(i=k+1;i<n;i++)
        for(j=k+1;j<n+1;j++)
            a[i][j]-=a[i][k]*a[k][j];
}
/**********回带过程**********/
    for(i=n-1;i>=0;i--)
    {
        x[i]=a[i][n];
        for(j=i+1;j<n;j++)
            x[i]-=a[i][j]*x[j];
    }
}
搜索更多相关主题的帖子: 消去法 线性方程 高斯 
2010-04-14 09:05
快速回复:用高斯消去法解线性方程组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011186 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved