楼主: 陈松涛。
1387 0

[作业] c语言求解非齐次线性方程组 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
123 点
帖子
3
精华
0
在线时间
4 小时
注册时间
2019-6-18
最后登录
2021-10-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
#include<stdio.h>
#include<math.h>
#define MAX 3
void input(double a[MAX][MAX+1],long n);
void output(double x[MAX],long n);
int main(){
        double a[MAX][MAX+1],x[MAX],s,max,t;
        long n,i,j,k,maxi;printf("请输入方程组阶数\n");
        scanf("%ld",&n);input(a,n);
        for(k=0;k<=n-2;k++){
                max=a[k][k];maxi=k;
                for(i=k+1;i<=n-1;i++)
                        if(fabs(a[i][k])>fabs(max))
                                {max=a[i][k];maxi=i;}
                if(max==0) break;
                if(max!=k)
                        for(j=k;j<=n;j++)
                        {t=a[k][j];a[k][j]=a[maxi][j];a[maxi][j]=t;}
                for(i=k+1;i<=n-1;i++){
                        a[i][k]/=-a[k][k];
                        for(j=k+1;j<=n;j++)
                                a[i][j]+=a[i][k]*a[k][j];
                }
        }
        if(max==0) printf("无解。");
        else{
                for(k=n-1;k>=0;k--){
                        s=0;
                        for(j=k+1;j<=n-1;j++) s+=a[k][j]*x[j];
                        x[k]=(a[k][n]-s)/a[k][k];
                }
                output(x,n);
        }
        return 0;
}
void input(double a[MAX][MAX+1],long n){
        long i,j;
        printf("请输入增广矩阵:\n");
        for(i=1;i<=n;i++)
                for(j=1;j<=n+1;j++)
                        scanf("%lf",&a[i-1][j-1]);
}
void output(double x[MAX],long n){
        long k;printf("原方程的解为:\n");
        for(k=1;k<=n;k++)
                printf(" %lf",x[k-1]);
}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:线性方程组 线性方程 C语言 方程组

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 06:08