PTA 福到了
“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。
输入格式:
输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。
输出格式:
输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le,然后再用输入指定的字符将其输出。
输入样例 1:
$ 9 @ @@@@@ @@@ @@@ @ @ @ @@@ @@@ @@@ @@@@@ @@@ @ @ @ @@@ @@@@@ @ @ @ @ @ @@@@@
输出样例 1:
$$$$$ $ $ $ $ $ $$$$$ $$$ $ $ $ $$$ $$$$$ $$$ $$$ $$$ $ $ $ $$$ $$$ $$$$$ $
输入样例 2:
& 3 @@@ @ @@@
输出样例 2:
bu yong dao le
&&&
&
&&&
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int n,i; 6 char q; 7 scanf("%c %d",&q,&n); 8 getchar(); 9 char gird[n][n]; 10 for(i=0;i<n;i++){ 11 gets(gird[i]); 12 } 13 14 int same=1,j; 15 //判断是否要倒 16 for(i=n-1;i>=0;i--){ 17 for(j=n-1;j>=0;j--){ 18 if(gird[n-1-i][n-1-j]!=gird[i][j]){ 19 same=0; 20 break; 21 } 22 } 23 } 24 if(same==1){ 25 printf("bu yong dao le\n"); 26 } 27 //int cnt=0; 28 for(i=n-1;i>=0;i--){ 29 for(j=n-1;j>=0;j--){ 30 //如果不是空格则更换字符 31 if(gird[i][j]!=' '){ 32 gird[i][j]=q; 33 } 34 printf("%c",gird[i][j]); 35 //cnt++; 36 // if(cnt==n){ 37 // cnt=0; 38 // printf("\n"); 39 } 40 printf("\n"); 41 } 42 return 0; 43 }
本文来自博客园,作者:弈星,转载请注明原文链接:https://www.cnblogs.com/8023yyl/p/14691402.html

浙公网安备 33010602011771号