C语言编程:已知一个数组中的元素按非递减有序排列,现需向其中插入一个元素,要求数组仍然有序。

C语言编程:已知一个数组中的元素按非递减有序排列,现需向其中插入一个元素,要求数组仍然有序。(使用自定义函数)

#include <stdio.h>

int main(void)
{
    int a[32] = { 1, 5, 8, 10, 15, 26 };
    int b, i = 5;

    scanf("%d", &b);

    while (a[i] > b && i >= 0) {
        a[i + 1] = a[i];
        i--;
    }
    a[i + 1] = b;


    for (i = 0; i < 7; i++)
        printf("%d ", a[i]);
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-12
非递减是什么意思追问

应该是公差为0或者递增的吧

追答

由小到大排序?

追问

嗯,

相似回答