c语言的有关编程问题,主要在指针方面

有一个数组int A[SIZE],其中里面包含若干0和其余非0的整数,写一个函数int Func(int* A, int nSize),使A把0元素移至后面,非0整数移至数组前面并保持从大到小排序,函数的返回值为第一个为0的元素的下标。
使用#define SIZE 100定义数组维数,并使用rand()函数随机生成数组A的元素,其中大于20000的数都强制为0;

应先从大到小排序,才会有保持从大到小排序一说。

设SIZE为4
随机数范围取-20000到20000
-12345,20000,1,0
从大到小排序
20000,1,0,-12345
0移至后面
20000,1,-12345,0
返回值3