下列程序的功能是判断一个n阶对称方阵是否双对称方阵,4阶对称方阵是指a =a (1<=i<=4,1<=j<=4),4阶双对称矩阵是指一个4阶对称矩阵的第1列与第4列对换,第2列与第3列对换后仍然是对称矩阵,函数issym(int m[][N],int n)的功能是判断二维数组m中存放的一个n阶方阵是否为对称矩阵,如果是则函数返回值1,否则返回值0,函数exchange(int a[][N],int n)的功能是将一个二维数组a中存放的一个n阶矩阵做横向翻转,即:将矩阵的第1列与第n列对换,
将第2列与第n-1列对换,...,直到n/2列为止,例如:对称矩阵
是双对称矩阵
#include
#define N 10
void exchange(int a[][N],int n)
{
int i,j,t;
for(j=0;j
___(23)___=a[i][n-j-1];
a[i][n-j-1]=t;
}
}
int issym(int m[][N],int n)
{
int i,j;
for(i=0;i
return 0;
___(25)___ ;
}
void main()
{ int a[N][N];
int n=4,i,j,r1,r2;
for(i=0;i
for(i=0;i
printf("\n");
}
r1=issym(a,n);
exchange( ___(26)___);
r2=issym(a,n);
if((r1+r2==2))
printf("matrix is double symmetric\n");
else
printf("matrix is not double symmetric\n");
}
参考答案:
(BC)a[i][j] (BD)m[i][j]!=m[j][i] (BE)return A (BF)a,n