在已经确定升序的一组数据中 再插入一个数进行升序

对于指定的十个数,将一个任意整数x插入到这组数中,使之插入后仍然升序,然后输出这组数
这里的指定数 怎么在下面的程序中与x比较呢
因为我这里已经确定
int a[11]={ 10,23,37,39,50,60,70,80,90,200} 里面的数任意 但是已经排好了
这样的情况下 该怎么把这些数与x比较呢

供参考:

//升序序列
#include <stdio.h>
#define N 100
int main()
{
    int n=10, m, i, a[N] = { 10,23,37,39,50,60,70,80,90,200 };
    //scanf("%d", &n);        //n:有序数列的个数
    //for (i = 0; i < n; i++) // 输入n个有序数列元素
    //    scanf("%d", &a[i]);
    scanf("%d", &m);       //m:待插入的数
    if (m > a[n - 1]) {    //插入操作
        a[n] = m;
    }
    else {
        for (i = n; m < a[i - 1] && i > 0; i--) {
            a[i] = a[i - 1];
        }
        a[i] = m;
    }
    for (i = 0; i < n + 1; i++)//输出 插入数后的有序数列
        printf("%4d", a[i]);
    printf("\n");
    return 0;
}

在限制集合情况下,你能做只是在循环一遍,比较 a[i]<x<a[i+1] .
当然你也可以先使用一些库方法 findindexof(第一个比x大)的
其实效果都一样

1、如果x<a[0];给a数组所有元素后移一位,a[0]=x
2、中间循环数组, if( x>=a[i] && x<= a[i+1] ) a[i] = x,后面的数据全部后移一位;
3、如果x>a[10];a[11] =x;