题目:
代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char a[20][21];
int i,j,n,sum,x,y,map,px,py;
for(i=0;i<n;i++)
scanf("%s",a[i]);
//for+for+if 使得循环每一个地面
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]!='.')
{
//分四个方向
sum=0;x=i;y=j;
while(a[x][y]!='#')
{
if(a[x][y]!='G')
{
sum++;
x--;
}
}
x=i;y=j;
while(a[x][y]!='#')
{
if(a[x][y]='G')
{
sum++;
x++;
}
}
x=i;y=j;
while(a[x][y]!='#')
{
if(a[x][y]='G')
{
sum++;
y--;
}
}
x=i;y=j;
while(a[x][y]!='#')
{
if(a[x][y]='G')
{
sum++;
y++;
}
}
//map是上一个a【】【】的数据,大者留下,小者离开
if(sum>map)
{
map=sum;
px=i;
py=j;
}
}
}
}
printf("炸弹放在(%d,%d),最多消灭%d个敌人",px,py,sum);
system("pause");
return 0;
}
ps:没有放入地图,因为我不想一个一个敲进去,所以没有测试结