分别提取n个数组中的奇偶数

输入:
第一行输入整数n
第二行输入n个整数

分别用另外两个数组分别提取里面的奇偶数

这样比如输出时我可以按从小到大的方式输出例如
输入:
6
6 2 1 7 2 3
输出:
偶数:2 2 6
奇数:1 3 7

我主要是想知道如何用另外两个数组分别提取里面的奇偶数

********

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int *a,*js,*os;
    int i,n,data;
    int osnmb=0,jsnmb=0;
    scanf("%d",&n);
    a = (int *)malloc(sizeof(int)*n);
    js = (int *)malloc(sizeof(int)*n);
    os = (int *)malloc(sizeof(int)*n);
    for (i=0;i<n;i++)
    {
        scanf("%d",&data);
        if (data%2==0)
        {
            os[osnmb++] = data;
        }else
            js[jsnmb++] = data;
    }
    printf("偶数:");
    for (i=0;i<osnmb;i++)
    {
        printf("%d ",os[i]);
    }
    printf("\n奇数:");
    for (i=0;i<jsnmb;i++)
    {
        printf("%d ",js[i]);
    }
    free(a);
    free(os);
    free(js);
    a = 0;
    os = 0;
    js = 0;
    return 0;
}

循环遍历,i%2==0来判断奇偶输出