九度OJ 1180:对称矩阵 (矩阵计算)
- 题目描述:
-
输入一个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 ****************************************************************/
编程算法爱好者。