为啥只能录入一个XXY它就输出YES了,,(想输入几行的来着

题目描述
给定一个3X3的矩阵,每个元素不是X就是Y,问这个矩阵是否是中心对称的,若是则输出YES,否则输出NO。

输入
输入一共三行,每行三个字符或。

输出
若矩阵是中心对称的输出YES,否则输出NO。

样例输入

样例输出
YES
NO

#include<cstdio>
#include<cmath>
using namespace std;

int a[3][3];
int main()
{
    int i,j,t=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            if(a[i][j]!=a[j][i])
            {
                printf("NO");
                t=1;
                break;
            }
        }
    }
    if(t==1){
        printf("NO");
    }else{
        printf("YES");
    }
    return 0;
}

输入有一点问题
如果用char或string应该就没有问题了

#include<cstdio>
#include<cmath>
using namespace std;
char a[3][3];
int main(){
    int i,j,t=0;
    for(i=0;i<3;i++){
        scanf("%s",a[i]);
    }
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            if(a[i][j]!=a[j][i])
            {
                printf("NO");
                return 0;
            }
        }
    }
    printf("YES");
    return 0;
}
 

输入的是字符X或Y,你还要考虑对换行字符的处理