c语言求全排列