题目描述:
输入矩阵的行数,再依次输入矩阵的每行元素,判断该矩阵是否为对称矩阵,若矩阵对称输出 yes
,不对称输出 no。
输入:
第一行输入一个正整数 N(N≤20),表示矩阵的行数。
下面依次输入 N 行数据。
3
6 3 12
3 18 8
12 8 7
输出:
若矩阵对称输出 yes
,不对称输出 no
。
yes
代码如下:
#include <stdio.h>
int main()
{
int i,n,j,a,arr[30][30];
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(arr[i][j]==arr[j][i])
{
a=1;
}
else
{
a=0; //若有一个不相等,则不是对称矩阵
if(a==0) //若不是对称矩阵,则直接打印no,结束循环
{
printf("no\n");
return 0;
}
}
}
}
if(a==1) //若循环结束后都相等,则打印yes。
{
printf("yes\n");
}
return 0;
}