/*矩阵的行列化零*/
# include <stdio.h>
# include <math.h>
main()
{int i,j,N;
float a[30][30],m[30],n[30];
clrscr();
printf("\nInput the sky of array:\n");
scanf("%d",&N);
/* 数据读入*/
printf("\nplease input array:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%f",&a[i][j]);
/* 找出每行最小的,行化零 */
for(i=0;i<N;i++)
{m[i]=a[i][0];
for(j=1;j<N;j++)
if(m[i]>a[i][j])
m[i]=a[i][j];
}
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]-=m[i];
/* 找出每列最小的,列化零 */
for(j=0;j<N;j++)
{n[j]=a[0][j];
for(i=1;i<N;i++)
if(n[j]>a[i][j])
n[j]=a[i][j];
}
for(j=0;j<N;j++)
for(i=0;i<N;i++)
a[i][j]-=n[j];
/* 数据输出 */
printf("New is:"); /*特别去掉 \n*/
for(i=0;i<N;i++)
{if(j==N) printf("\n");
for(j=0;j<N;j++)
printf("%f ",a[i][j]);
}
}
矩阵的行列化零,学过运筹学的都知道,用来解指派问题的。自己编的觉得不错,拿出来