【正确答案】
【答案解析】(1) checkMatrix[pos][i] (2) a[pos]+a[j] (3) a[++pos] (4) b[a[pos]]=1
(5) pos= =8或pos>=8或pos>7
[考点分析] 考查C语言程序设计,主要是试探和回溯算法。
[解析] 程序中主要变量及其作用说明如下:pos用于标记当前要填数的方格序号;数组元素a[i]表示第i个方格所填的内容;数组元素b[j]标记整数j是否被使用 (初始化时设为1,表示没有使用);一维数组checkMatrix[i]记录了填写第i个方格需要检查的方格序号,例如checkMatrix[4]={1,3,-1},其中-1用作结束标记。
(1)此循环遍历一维数组checkMatrix[pos],取出第i个数checkMatrix[pos][i]赋给j,直至-1;
(2)j是checkMatrix[pos]中不等于-1的值,即表示需要检查当前方格(第pos个)与第j个的和是否是素数;
(3)这条语句应包含pos增1以及a[pos]=selectNum (1)前后两个操作,因此需用++pos;
(4)若能为当前方格找到下一个未被使用的数,则应先释放当前格中的数,再填入新数;
(5)这条语句包含输出方格操作,因此判断的条件是全部方格被填满,即pos值已增至8。