C++奇偶分离怎么写?

7-1 奇偶分离 (10 分)
任务描述

有一个正整型数k(2<=k<=10000),你要做的是:先把1到k中的所有奇数从小到大输出,再把所有的偶数从小到大输出。

输入格式:

第一行有一个整数n(2<=n<30)表示有n组测试数据; 之后的n行,每行有一个整型数k。

输出格式:

对于每组数据:

第一行输出所有的奇数(行末尾没有空格)

第二行输出所有的偶数(行末尾没有空格)

每组数据后面有一个换行。

输入样例:

2
10
14
结尾无空行
输出样例:

1 3 5 7 9
2 4 6 8 10

1 3 5 7 9 11 13
2 4 6 8 10 12 14
结尾无空行

格式要求输入完成后一次性输出

#include <iostream>
using namespace std;
int main()
{
    int n;
    int*p;
    cin >> n;
    p = new int[n];
    for(int i = 0;i<n;i++)
        cin >> p[i];
    //输出
    for (int i =0;i<n;i++)
    {
        //显示奇数
        for(int j=1;j<=p[i];j++)
        {
            if(j%2==1)
                cout << j << " ";
        }
        cout << endl;
        //显示偶数
        for(int j=1;j<=p[i];j++)
        {
            if(j%2==0)
                cout << j << " ";
        }
        cout << endl;
     
    }
    delete[] p;
    p =0;
    return 0;
}