L1-054 福到了 - 团体程序设计天梯赛-练习集 (pintia.cn)
题解
这道题主要需要处理的是如何读入字符串,下面提供了两种方式进行读入。
1、getchar()输入,一次只能读取一个字符,并且可以读取'\n'和空格。
2、getline()输入,可以读入字符串。
代码
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
char ch;
cin>>ch>>n;
char a[101][101];
getchar();
//1、getchar()输入
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
a[i][j]=getchar();
}
getchar();
}
//2、getline()输入
//for(int i=0;i<n;i++){
//cin.getline(a[i],101);
//}
int flag=1;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]!=a[n-i-1][n-j-1]){
flag=0;
break;
}
}
}
if(flag){
cout<<"bu yong dao le"<<endl;
for(int i=n-1;i>=0;i--){
for(int j=n-1;j>=0;j--){
if(a[i][j]=='@') cout<<ch;
else cout<<' ';
}
cout<<endl;
}
}else{
for(int i=n-1;i>=0;i--){
for(int j=n-1;j>=0;j--){
if(a[i][j]=='@') cout<<ch;
else cout<<' ';
}
cout<<endl;
}
}
return 0;
}