This problem is in Contest(s) below:
Contest 2012:从零开始的C语言生活——进阶篇