高斯消去法求上三角矩阵
感觉没错啊,可结果最后一个元素却不对程序代码:
#include<stdio.h> int main() { int i,j,k ; int n ; int a[100][101] , b[100]; printf("请输入矩阵阶数\n"); scanf("%d",&n) ; //输入系数矩阵 printf("请输入系数矩阵\n"); for(i=1 ; i<=n ; i++) for(j=1 ; j<=n ; j++) scanf("%d" , &a[i][j]); //建立增广矩阵 printf("请输入方程组右边的值\n"); for(i=1; i<=n ; i++) { scanf("%d" , &b[i]) ; a[i][n+1] = b[i] ; } //输出增广矩阵 for(i=1 ; i<=n ; i++) { for(j=1 ; j<=n+1 ; j++) printf("%d\t" , a[i][j]); printf("\n"); } printf("\n"); //高斯消去 for(i=1 ; i<=n-1 ; i++ ) for(j=i+1 ; j<=n ; j++) for(k=n+1 ; k>=i ; k--) a[j][k] = a[j][k] - a[i][k] * a[j][i] /a[i][i] ; //输出消去后的上三角矩阵 for(i=1; i<=n; i++) { for(j=1; j<=n+1; j++) printf("%d\t",a[i][j]) ; printf("\n") ; } }