用string字符串存储,用getline(cin,a)可以读取空格,循环判断倒放后是否与正放相等,便可求解
#includeusing namespace std; int main() { string str[110]; char a; int n; cin >>a >> n; getchar(); for(int i = 0;i < n;i ++) //用getline可以读取空格 getline(cin, str[i]); bool flag = true; for(int i = 0;i < n;i ++) //判断倒放后是否不变 { for(int j = 0 ;j < n;j ++) if(str[i][j] != str[n - i - 1][n - j - 1]) { flag = false; break; } if(flag == false) 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(str[i][j] == '@') cout << a; else cout << " "; cout << endl; } return 0; }



