7-6 判断对称方阵 (10 分)
输入一个整数n及一个n阶方阵,判断该方阵是否以主对角线对称,输出“Yes”或“No”。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组数据的第一行输入一个整数n(1<n<100),接下来输入n阶方阵(共n行,每行n个整数)。
输出格式:
对于每组测试,若该方阵以主对角线对称,则输出“Yes”,否则输出“No”。引号不必输出。
输入样例:
1
4
1 2 3 4
2 9 4 5
3 4 8 6
4 5 6 7
输出样例:
Yes
#include<stdio.h>
int main()
{
//定义变量
int t=0;
//输入数据
scanf("%d", &t);
while (t--)
{
int n = 0,flag=1;
scanf("%d", &n);
int a[101][101] = { 0 };
//输入数组
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])
{
flag = 0;
break;//终止内部循环
}
}
if(flag==0)
{
break;//这个终止外层循环
}
}
if (flag == 1)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
return 0;
}