列主元高斯消去法 共修改9处,具体位置请参考以下程序中的注释位置: //--------------------------------------------------------------------------- #include<stdio.h> #include<math.h> void colpivot(float a[10][11], int n, float x[10]); /*注意这里,函数声明建议放在这里*/ void main() { int i,j,n; float p,a[10][11],x[10];/*注意这里*/ printf("please input n:"); scanf("%d",&n); /*注意这里,是%d,不是d%*/ for(i=0;i<n;i++) for(j=0;j<=n;j++) { printf("please input a[%d][%d]:" ,i,j);/*注意这里*/ scanf("%f",&p); a[i][j]=p; } colpivot(a,n,x); /*注意这里*/ for (i=0;i<n;i++) printf("x[%d]=%f\n",i,x[i]); } void colpivot(float a[10][11],int n,float x[10]) /*注意这里,这个函数不需要返回值*/ { int i,j,m,k; float p, l; m=k; for (i=k+1;i<n;i++) if(fabs(a[i][k])>fabs(a[m][k])) m=i; if(m!=k) for(j=k;k<=n;j++) {p=a[m][n];a[m][j]=a[k][j];a[k][j]=p;} /*注意这里*/ for (k=1;k<n;k++) { for(i=k+1;i<=n;i++) { l=a[i][k]/a[k][k]; for (j=k+1;j<=n+1;j++) { a[i][j]-=l*a[k][j]; } } } x[n-1]=a[n-1][n]/a[n-1][n-1] ; /*注意这里*/ for (i=n-2;i>=0;i--) { for (j=i+1;j<n;j++) { a[i][n]-=x[j]*a[i][j]; } x[i]=a[i][n]/a[i][j]; } /*注意这里,函数不需要返回值,所以无需return 语句*/ }
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助