一道数组按中轴数据分组的题

初始化数组int a[10]={3,6,1,0,5,2,7,8,3,4},从键盘输入一个整数n作为中轴数据,将数组中所有<n的数据排列在n的左侧,所有>n的数据排列在n的右侧,输出分组后的结果;如果所输入的n值在数组中不存在则输出"Wrong number!".

说明:请只提供需要补全的代码部分,不需要提供完整程序。可根据需要定义其他变量。

【输入形式】
【输出形式】
【样例输入】

5
【样例输出】

3 1 0 2 3 4 5 6 7 8

这一题我没有想到更简便的方法,就本题例子而言写一个程序问题不大,本题和普通的排序还有所不同,但是如果更普遍一点就要考虑的更多一点
,我想出题人给了两个3就是这个用意

#include<stdio.h>
int main()
{
    int a[10]={3,6,1,0,5,2,7,8,3,4};
    int n;
    scanf("%d",&n);
    if(n<0||n>=9)
        printf("Wrong number!");//a[10]中数组元素从0到9;故0到9之外的都“Wrong number!”如果是不确定数组,循环确认是否是成员数组
    else//通过三层for打印
    {
        for(int i=0;i<10;i++){//第一层for打印比n小的
            if(a[i]<n){
                printf("%d ",a[i]);
            }
        }
        for(int j=0;j<10;j++){//第二层for打印等于的
            if(a[j]==n)
                printf("%d ",a[j]);
        }
        for(int k=0;k<10;k++){//第三层for打印比n大的
                if(a[k]>n)
                printf("%d ",a[k]);
        }
    }
    return 0;
}

本来我想再定义一个数组的但是依旧避免不了多个循环,干脆就三层for依次打印