题目描述:
输入一个N维矩阵,判断是否对称。
输入描述:
输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。
接下来的N行,每行包括N个数,表示N*N矩阵的元素
输出描述:
可能有多组测试数据,对于每组数据,
输出”Yes!”表示矩阵为对称矩阵。
输出”No!”表示矩阵不是对称矩阵。
代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int N;
int **a;
while(scanf("%d",&N)!=EOF)
{
a=(int **)malloc(sizeof(int*)*N);
for(int i=0;i<N;i++)
{
a[i]=(int*)malloc(sizeof(int)*N);
}
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
scanf("%d" ,&a[i][j]);
}
}
int flag=0;
for(int i=0;i<N;i++)
{
if(flag)
break;
for(int j=0;j<=i;j++)
{
if(a[i][j]!=a[j][i])
{
printf("No!\n");
flag=1;
break;
}
}
}
if(flag==0)
printf("Yes!\n");
}
}