{
for(i=1i<n+1i++)
{
for(j=1j<n+1j++)
{
if(a[i][j]=='@') //这里及之后的几个if句出现问题
{
if(a[i+1][j]=='.')
{
a[i+1][j]='@'
}
if(a[i][j-1]=='.')
{
a[i][j-1]='@'
}
if(a[i][j+1]=='.')
{
a[i][j+1]='@'
}
if(a[i-1][j]=='.')
{
a[i-1][j]='@'
}
}
}
}
}
以上进行注释标记的部分的问题是,当扫描到一个房间是有流感标记的房间,如果没有空房间的话,那么许多房间都会错误的成为流感单元'@'
比如说. . . . .
. @ . . .
. . . . .
. . . . .
. . . . . .
经过一次循环会变成 . @ @ @ @
@ @ @ @ @
@ @ @ @ @
@ @ @ @ @
@ @ @ @ @
我想到的解决方法有两个:
1、新建一个和输入数组一样大的数组,当扫描原数组当前单元为流感标记'@'的单元时,在新建数组内进行改变,扫描完成再把新建数组的值赋值给原数组
2、设置一个中间态,称作即将感染态'$',当扫描到流感标记'@'时,在其四周四个'.'单元中赋值'$',扫描完成后将所有'$'变成'@'
流感传播方式包括呼吸道直接传播和间接接触传播。所以,我们预防流感也可以从这两方面来着手。直接传播:病毒通过患者咳嗽或者喷嚏溅出的飞沫传给他人。
预防方式:患者应戴口罩,防止飞沫四溅,生病时期不到集体场所;健康人群尽量少去人口密集场所,带上口罩防止吸入患者的飞沫。
间接接触传播:患者手部被飞沫污染后接触他人或物体间接传播。
预防方式:健康人群接触被患者飞沫污染的物体后,再接触口鼻导致间接传染;防止接触传播,请多用肥皂或洗手液流水洗手,不洁的手勿接触口鼻眼;即使是冬季,也要坚持室内每天对流通风2次,每次15分钟以上。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)