4C 2018 福到了
输入字符c(只含有@和空格)、数字n、规模n*n的二维字符矩阵。
若倒过来的数组和原数组一样形式输出提示。
最后输出以字符c替换的字符数组。
#include <bits/stdc++.h> /* $ 3 @@@ @ @@@ */ using namespace std; char a[500][500]; char b[500][500]; int main() { char c; int n, cnt = 0, f = 1; scanf("%c%d",&c,&n); //getchar(); //scanf("%d",&n); getchar(); //必须吸收换行 数字n和字符数组之间 for(int i=0; i<n; i++) { gets(a[i]); //getchar(); } for(int i=n-1,x=0; i>=0,x<n; i--,x++){ for(int j=n-1,y=0; j>=0,y<n; j--,y++){ b[x][y] = a[i][j]; } } for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(a[i][j] != b[i][j]){ f = 0; break; } } } if(f) puts("ok"); for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(b[i][j] == '@'){ b[i][j] = c; } } } for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ printf("%c",b[i][j]); } cout<<endl; } return 0; } /* $ 3 @@@ @ @@@ ok $$$ $ $$$ $ 5 @@@@@ @@@ @ @@@ @@@@@ $ 5 @@@ @ @ @@ @ @ @@@ @@ @ */