案例分析题

【说明】
如果n位数(n≥2)是回文数(从左到右读与从右到左读所得结果一致),且前半部分的数字递增(非减)、后半部分的数字将递减(非增),则称该数为拱形回文数。例如, 12235753221就是一个拱形回文数。显然,拱形回文数中不含数字0。
下面的流程图用于判断给定的n位数(各位数字依次存放在数组的各个元素A[i]中,i=1,2, ...,n)是不是拱形回文数。流程图中,变量T动态地存放当前位之前一位的数字。当n是奇数时,还需要特别注意中间一位数字的处理。
【流程图】

【正确答案】

(1)n-i+1
(2)T&&A[i]!=0或 T&&A[i]>0
(3)T
(4)n
(5)T或A[n/2]或A[(n-1)/2]

【答案解析】

1)跟A[i]对称的后半部分元素下标是n-i+1;
2)T动态地存放当前位之前一位的数字,所以这里A[i]大于前一项T值。且在拱形回文数中,不含数字0,所以再加上一个条件A[i]!=0
3)比较完后,将A[i]值赋给T,T进行动态地存放当前位之前一位的数字。
4、5)判断元素个数是偶数还是奇数,如果是奇数,则还需要进行判断最中间的元素,所以4空这里填n,5空填的是为奇数个时最中间元素的前一项元素的表示。