数组在代码中定义,我们应该计算数组中正数的数量并创建一个新数组,如果原始数组中的正数大于原始数组中的负数,则将所有正数插入其中,并且如果相反(负数大于正数,我们创建一个新数组并插入所有负数)
如果它相等(正数和负数),我们创建一个新数组并首先插入所有正数,然后插入所有负数
*我们必须用malloc在函数中创建数组..
编码 :
#include <stdio.h>
#define n 10
void func(int *arr)
{
int i,j,c1=0,c2=0,mat;
for(i=0;i<n;i++)
{
if (*arr>=0) c1++;
else c2++;
arr++;
}
if(c1>c2)
{
mat=(int *)malloc(c1*sizeof(int));
for(i=0;i<c1;i++)
if(*arr>0)
{
mat=*arr;
mat++;
arr++;
}
}
else if(c2>c1)
{
mat=(int *)malloc(c2*sizeof(int));
for(i=0;i<c2;i++)
if(*arr<0)
{
mat=*arr;
mat++;
arr++;
}
}
else
{
mat=(int *)malloc((c1+c2)*sizeof(int));
for(i=0;i<n;i++)
if(*arr>0)
{
mat=*arr;
mat++;
arr++;
}
for(i=0;i<n;i++)
if(*arr<0)
{
mat=*arr;
mat++;
arr++;
}
}
}
main()
{
int array={6,3,5,-5,4,3,-6,-9,6,-16};
int *arr=array;
func(arr);
}