参考答案(1)*x = (*x >= c) ? *x : c
(2)*z = (*z <= c) ? *z : c
(3)&a[0], &a[1], &a[2]
(4)a[0] * 100 + a[1] * 10 + a[2]
(5)a[2] * 100 + a[1] * 10 + a[0]
(6)max3 - min3
【解析】
本题考察指针作为函数参数、数位拆分和重排求差算法。
空(1)(2):sort函数要对三个数从大到小排序。*x存最大值,*z存最小值,需要和第三个数c比较更新。
空(3):调用sort函数,传入数组三个元素的地址。注意sort函数参数是指针,所以要用取地址符&。
空(4)(5):排序后a[0]最大,a[2]最小。最大三位数是a[0]×100+a[1]×10+a[2],最小三位数是a[2]×100+a[1]×10+a[0]。
空(6):如果当前差值不等于hole,则把新的差值max3-min3作为下一轮的hole继续计算。