第33套试题答案及详解
【审题分析】分析题目可知,本题只要实现Numsort()函数的功能即可。Numsort()函数要实现的功能是:将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。因此解答本题的关键在于比较序列中数值的大小。
【解题思路】对于二维数维a[10][9],利用两个for循环语句实现对数组中每个元素的访问。在外层循环中当自变量i从0递增到9,完成对10个序列的访问。对每一个序列,首先把第1个元素的值赋给value,然后在第二层循环中对:a[i][0]后面的每~个元素进行判断,如果表达式a[i][j]<value成立,则把a[i][j]的值赋给num,再把a[i][j]前面的每一个元素向后移动一个位置,最后把num的值赋给a[i][0]。
【参考答案】
【易错分析】在把a[i][j]前面的每一个元素向后移动一个位置时,for循环语句自变量k的初始值等于j,每一次循环自变量k减1。
【考点链接】二维数组元素的访问。
责任编辑:小草