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
@@@ @
@
@@ @
@ @@@
@@ @
*/
View Code
原文地址:https://www.cnblogs.com/Roni-i/p/8683919.html