首页 > 试题广场 >

对称矩阵

[编程题]对称矩阵
  • 热度指数:9986 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入一个N维矩阵,判断是否对称。

输入描述:
输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。
接下来的N行,每行包括N个数,表示N*N矩阵的元素。


输出描述:
可能有多组测试数据,对于每组数据,
输出"Yes!”表示矩阵为对称矩阵。
输出"No!”表示矩阵不是对称矩阵。
示例1

输入

4
16 19 16 6 
19 16 14 5 
16 14 16 3 
6 5 3 16 
2
1 2
3 4

输出

Yes!
No!
#include <stdio.h>

int main() {
    int n;
    while(scanf("%d",&n)!=EOF){
    int a[n][n];
    int tag=1;
    int temp;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a[i][j]);
        }
    }
    for(int i=0;i<n;i++){
        for(int j=i;j<n;j++){
            if(a[i][j]!=a[j][i]){
                tag=0;break;
            }
            
        }if(tag==0)break;
    }
    if(tag==1)printf("Yes!\n");
    else{printf("No!\n");}
    }
    return 0;
}

发表于 2024-03-03 03:08:10 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    int a=0;
    int A[100][100]={0};
    while(scanf("%d",&n)!=EOF){
        for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&A[i][j]);
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(A[i][j]!=A[j][i]){
                printf("No!");goto a;
            }
        }
    }
    printf("Yes!\n");
    a:;
    }
   
}
发表于 2023-03-26 13:50:13 回复(0)

问题信息

难度:
2条回答 9271浏览

热门推荐

通过挑战的用户

查看代码