-
题目描述:
-
输入一个N维矩阵,判断是否对称。
-
输入:
-
输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。
接下来的N行,每行包括N个数,表示N*N矩阵的元素。
-
输出:
-
可能有多组测试数据,对于每组数据,
输出"Yes!”表示矩阵为对称矩阵。
输出"No!”表示矩阵不是对称矩阵。
-
样例输入:
-
4 16 19 16 6 19 16 14 5 16 14 16 3 6 5 3 16 2 1 2 3 4
-
样例输出:
-
Yes! No!
思路:
a(i,j)与a(j,i)互换。
代码:
#include <stdio.h>
#define N 100
int main(void)
{
int n, i, j;
int a[N][N];
while (scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
scanf("%d", &a[i][j]);
}
int flag = 1;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if (a[i][j] != a[j][i])
{
flag = 0;
break;
}
}
}
if (flag == 1)
printf("Yes!\n");
else
printf("No!\n");
}
return 0;
}
/**************************************************************
Problem: 1180
User: liangrx06
Language: C
Result: Accepted
Time:20 ms
Memory:912 kb
****************************************************************/