getchar()和scanf都试过了,不行
萌新懒得用函数,用的暴力模拟。
下面是代码
#include<bits/stdc++.h>
using namespace std;
int n;
bool a[200][200];
char e[200][110];
int main()
{
scanf("%d\n",&n);
for(int i=11;i<=n+10;i++)
{
for(int j=11;j<=n+11;j++)
{
scanf("%c",&e[i][j]);
}
}
for(int i=11;i<=n+10;i++)
{
for(int j=11;j<=n+10;j++)
{
if(e[i][j]=='y')
{
if(e[i+1][j]=='i'&&e[i+2][j]=='z'&&e[i+3][j]=='h'&&e[i+4][j]=='o'&&e[i+5][j]=='n'&&e[i+6][j]=='g')
a[i+1][j]=a[i][j]=a[i+2][j]=a[i+3][j]=a[i+4][j]=a[i+5][j]=a[i+6][j]=1;
if(e[i-1][j]=='i'&&e[i-2][j]=='z'&&e[i-3][j]=='h'&&e[i-4][j]=='o'&&e[i-5][j]=='n'&&e[i-6][j]=='g')
a[i-1][j]=a[i][j]=a[i-2][j]=a[i-3][j]=a[i-4][j]=a[i-5][j]=a[i-6][j]=1;
if(e[i+1][j+1]=='i'&&e[i+2][j+2]=='z'&&e[i+3][j+3]=='h'&&e[i+4][j+4]=='o'&&e[i+5][j+5]=='n'&&e[i+6][j+6]=='g')
a[i+1][j+1]=a[i][j]=a[i+2][j+2]=a[i+3][j+3]=a[i+4][j+4]=a[i+5][j+5]=a[i+6][j+6]=1;
if(e[i+1][j-1]=='i'&&e[i+2][j-2]=='z'&&e[i+3][j-3]=='h'&&e[i+4][j-4]=='o'&&e[i+5][j-5]=='n'&&e[i+6][j-6]=='g')
a[i+1][j-1]=a[i][j]=a[i+2][j-2]=a[i+3][j-3]=a[i+4][j-4]=a[i+5][j-5]=a[i+6][j-6]=1;
if(e[i-1][j+1]=='i'&&e[i-2][j+2]=='z'&&e[i-3][j+3]=='h'&&e[i-4][j+4]=='o'&&e[i-5][j+5]=='n'&&e[i-6][j+6]=='g')
a[i-1][j+1]=a[i][j]=a[i-2][j+2]=a[i-3][j+3]=a[i-4][j+4]=a[i-5][j+5]=a[i-6][j+6]=1;
if(e[i-1][j-1]=='i'&&e[i-2][j-2]=='z'&&e[i-3][j-3]=='h'&&e[i-4][j-4]=='o'&&e[i-5][j-5]=='n'&&e[i-6][j-6]=='g')
a[i-1][j-1]=a[i][j]=a[i-2][j-2]=a[i-3][j-3]=a[i-4][j-4]=a[i-5][j-5]=a[i-6][j-6]=1;
if(e[i][j+1]=='i'&&e[i][j+2]=='z'&&e[i][j+3]=='h'&&e[i][j+4]=='o'&&e[i][j+5]=='n'&&e[i][j+6]=='g')
a[i][j+1]=a[i][j]=a[i][j+2]=a[i][j+3]=a[i][j+4]=a[i][j+5]=a[i][j+6]=1;
if(e[i][j-1]=='i'&&e[i][j-2]=='z'&&e[i][j-3]=='h'&&e[i][j-4]=='o'&&e[i][j-5]=='n'&&e[i][j-6]=='g')
a[i][j-1]=a[i][j]=a[i][j-2]=a[i][j-3]=a[i][j-4]=a[i][j-5]=a[i][j-6]=1;
}
}
}
for(int i=11;i<=n+10;i++)
{
cout<<endl;
for(int j=11;j<=n+10;j++)
{
if(a[i][j])
{
cout<<e[i][j];
}
else
cout<<"*";
}
}
}
这里是记录。