关于#c语言#的问题:有一个从小到大排列的数组,但不改变数组的排序,请编写程序实现

有一个从小到大排列的数组,要求在其中插入一个数,但不改变数组的排序,请编写程序实现。下面是示例样板

基于new bing的编写:
因为看你题目是c语言,就用c语言实现:

#include <stdio.h>

int main() {
    int arr[10] = {1, 3, 5, 6, 8, 10, 12, 13, 15, 18};   //定义有序数组,长度为10
    int len = sizeof(arr) / sizeof(int);   //获取数组长度,这里是10
    int insertNum = 7;   //要插入的数字
    int insertIndex = len;   //新数字默认插入到最后一个位置
    
    // 找到新数字要插入的位置
    for (int i = 0; i < len; i++) {
        if (arr[i] > insertNum) {
            insertIndex = i;
            break;
        }
    }
    
    // 把新数字插入到指定位置,其他数字往后移动一位
    for (int i = len - 1; i >= insertIndex; i--) {
        arr[i + 1] = arr[i];
    }
    arr[insertIndex] = insertNum;
    
    // 输出插入后的结果
    printf("插入后的结果为:");
    for (int i = 0; i < len + 1; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}