九度OJ 1180:对称矩阵 (矩阵计算)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:2637

解决:1354

题目描述:

输入一个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!
来源:
2000年华中科技大学计算机研究生机试真题

思路:

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
****************************************************************/


posted on 2015-10-26 10:59  梁山伯  阅读(453)  评论(0编辑  收藏  举报

导航