7-15 福到了 c语言,福到啦L1-6 福到了(15 分) “

L1-6 福到了(15 分)

“福”字倒着貼,寓意“福到”。不論到底算不算民俗,本題且請你編寫程序,把各種漢字倒過來輸出。這里要處理的每個漢字是由一個 N × N 的網格組成的,網格中的元素或者為字符 @ 或者為空格。而倒過來的漢字所用的字符由裁判指定。

輸入格式:

輸入在第一行中給出倒過來的漢字所用的字符、以及網格的規模 N (不超過100的正整數),其間以 1 個空格分隔;隨后 N 行,每行給出 N 個字符,或者為 @ 或者為空格。

輸出格式:

輸出倒置的網格,如樣例所示。但是,如果這個字正過來倒過去是一樣的,就先輸出bu yong dao le,然后再用輸入指定的字符將其輸出。

輸入樣例 1:

$ 9

@ @@@@@

@@@ @@@

@ @ @

@@@ @@@

@@@ @@@@@

@@@ @ @ @

@@@ @@@@@

@ @ @ @

@ @@@@@

輸出樣例 1:

$$$$$ $

$ $ $ $

$$$$$ $$$

$ $ $ $$$

$$$$$ $$$

$$$ $$$

$ $ $

$$$ $$$

$$$$$ $

輸入樣例 2:

& 3

@@@

@

@@@

輸出樣例 2:

bu yong dao le

&&&

&

&&&

作者: 陳越

單位: 浙江大學

時間限制: 400ms

內存限制: 64MB

代碼

#include

using namespace std;

char aa[101][101];

int n;

int check()

{

for(int i=0;i

{

for(int j=0;j

{

if(aa[i][j]!=aa[n-i-1][n-j-1]);

return 0;

}

}

return 1;

}

int main()

{

char c;

cin>>c>>n;

getchar();///getchar();的作用很重要 嘗試了好幾遍 如果沒有 的話 本來要輸入三行 卻只能輸入一行

for(int i=0;i

{

for(int j=0;j

{

cin>>aa[i][j];

}

}

if(check())

cout<

for(int i=0;i

{

for(int j=0;j

{

if(aa[i][j]!=' ')

cout<

else

cout<

}

cout<

}

return 0;

}

這個題我本來的思路是准備兩個整形數組a和b

每次輸入一個字符時,判斷是@還是空格,若為空格將整形數組a[i]賦值為1,若為@則賦值為0

同時將b數組倒着存放,這樣只有 在比較一下  就可以了

但是 在getchar()上的用法限制了我這個思路   就是每次輸入的回車怎么整

所以這個思想就破滅了  有沒有大神能幫忙看一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值