问答题

【函数】
int Find(int a[][N] int R,int*row,iht*col)
int i,j,k,c,t;int FOUND=0;
for(i=0;!FOUND&&i<N-R+1;i++){ /*从第0排开始查找*/
(1)
while (j<N-R+1&&!FOUND){
for (k=0; (2) &&a[i][j+k]==0;k++); /*查找第i排连续的R个空座位*/
if (k>=R){ /*找到第i排连续的R个空座位*/
for (c=0;c<R;c++){ /*查找其余的R*(R-1)个座位*/
for (t=1;t<R;t++)
if (a[ (3) ][j+c]!=0) break;
if (t<R) break;
}/*for*/
if ( (4) ) FOUND=1;
}/*if*/
(5)
}/*while*/
}/*fori*/
if (FOUND){
*row=i-1; *col=j-1; /*计算正方形区域的左上角坐标*/
return 1;
}
return 0;
}

【参考答案】

(1)j=0
(2)k<R,及其等价形式
(3)i+t
(4)c>=R,及其等价形式......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)