利用数组处理批量数据

有一个已排好的数据(2,4,6,8,10,12,14,16,18),要求输入一个数9之后,按原来的排序规律将它插入数组中

供参考:

#include<stdio.h>
#define N 10
int main()
{
    int n = 9, m, i, a[N]={2,4,6,8,10,12,14,16,18};

    //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++)//输出 插入数 m 后的有序数列
        printf("%4d", a[i]);
    printf("\n");
    return 0;
}


#include <stdio.h>
#define N 10
int main(){
    //原数组是升序
    int a[N]={2,4,6,8,10,12,14,16,18};
    int n,num;
    printf("原数组的数为:\n");
    for(n=0;n<N-1;n++)
    printf("%d ",a[n]);
    printf("\n");
    printf("请输入一个数:\n");
    scanf("%d",&num);
    for(n=0;n<=N-2;n++){
        if(a[n]<num&&num<=a[n+1]){
            for(int j=N-1;j>=n+2;j--){
                a[j]=a[j-1];
            }
            a[n+1]=num;
        }
    }
    printf("\n");
    printf("现数组的数为:\n");
    for(n=0;n<=N-1;n++){
        printf("%d ",a[n]);
    }
    printf("\n");
    return 0;
}