二维数组 SDUT

对称矩阵的判定
Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description
输入矩阵的行数,再依次输入矩阵的每行元素,判断该矩阵是否为对称矩阵,若矩阵对称输出“yes",不对称输出”no“。

Input
输入有多组,每一组第一行输入一个正整数N(N<=20),表示矩阵的行数(若N=0,表示输入结束)。
下面依次输入N行数据。

Output
若矩阵对称输出“yes",不对称输出”no”。

Sample Input
3
6 3 12
3 18 8
12 8 7
3
6 9 12
3 5 8
12 6 3
0
Sample Output
yes
no
Hint
Source

#include <stdio.h>
#include <string.h>
int main()
{

   int n,i,j;
   int a[21][21];
   while(~scanf("%d",&n)&&n)
   {
       int flag=1;
       for(i=0;i<n;i++)
       {
           for(j=0;j<n;j++)
           {
               scanf("%d",&a[i][j]);
           }
       }
       for(i=0;i<n;i++)
       {
           for(j=0;j<n;j++)
           {
               if(a[i][j]!=a[j][i])
              {
                   flag=0;//一定要加,这个错误太严重了,导致我两次都错了!
                break;
              }
           }
       }
       if(flag)
        printf("yes\n");
     else   printf("no\n");


   }
    return 0;
}


一定要注意的是加大括号。

发布了26 篇原创文章 · 获赞 0 · 访问量 419

猜你喜欢

转载自blog.csdn.net/weixin_45726784/article/details/103490985