这题被坑惨了。。。因为PTA给你的文件里面包含了换行符,不然正常情况,我们都是要手动换行的。。所以重点是在输入二维字符数组的时候就要把每一行的换行符吸收掉!
#include<bits/stdc++.h>
using namespace std;
int main()
{
char c;
int N;
cin>>c>>N;
getchar();
int i,j;
char pic[100][100];
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
scanf("%c",&pic[i][j]);
getchar(); //吸收换行,这个很重要!!!!
}
int flag=0;//用来判断是否需要把字倒过来
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(pic[i][j]!=pic[N-1-i][N-1-j])
{
flag=1;
break;
}
}
if(flag==1)
break;
}
if(flag==1)
{
for(i=N-1;i>=0;i--)
{
for(j=N-1;j>=0;j--)
{
if(pic[i][j]=='@')
{
pic[i][j]=c;
}
cout<<pic[i][j];
}
cout<<endl;
}
}
else
{
cout<<"bu yong dao le"<<endl;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(pic[i][j]=='@')
{
pic[i][j]=c;
cout<<pic[i][j];
}
else
cout<<pic[i][j];
}
cout<<endl;
}
}
return 0;
}