题目连接(请点击)
思路:用string定义两个字符串数组str与temp,一行一行的读入所以这里用geiline(),然后对str从第一行到最后一行利用reverse()函数进行行的倒置,在对str从最后一行到第一行,temp从第一行到最后一行来比较二者是否相等,若所有的行全相等就说明不用倒了
附上AC代码
reverse()在头文件algorithm里面
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
char c;
int n;
while(cin>>c>>n)
{
string temp[n],str[n];
getchar();
for(int i=0;i<n;i++)
{
getline(cin,temp[i]);
str[i]=temp[i];
}
for(int i=0;i<n;i++)
reverse(str[i].begin(),str[i].end());
int i=n-1,j=0,flag=0;
while(i>=0)
{
if(str[i]==temp[j])
flag++;
i--;
j++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(str[i][j]!=' ')
str[i][j]=c;
}
}
if(flag==n) cout<<"bu yong dao le"<<endl;
for(i=n-1;i>=0;i--)
cout<<str[i]<<endl;
}
return 0;
}