从键盘输入一个有序数列和一个待插入数key,将其插入到数组中,使数组依然保持升序。 //输入:16 36 68 99 100 64 //输出:16 36 64 68 99 100

img


从键盘输入一个有序数列和一个待插入数key,将其插入到数组中,使数组依然保持升序。
//输入:16 36 68 99 100 64
//输出:16 36 64 68 99 100

哪里有问题呀?

修改如下,供参考:

#include <stdio.h>
int main()
{
    int i, key, t;
    scanf("%d", &key);
    int a[6] = { 16,36,68,99,100 };
    for (i = 0; i < 6; i++)
    {
        if (a[i] >= key)
            break;
    }
    if (i >= 6)
    {
        a[i - 1] = key;
    }
    else{
        t = i;
        for (i = 5; i > t; i--)
        {
            a[i] = a[i - 1];
        }
        a[t] = key;
    }
    for (i = 0; i < 6; i++)
        printf("%4d", a[i]);
    return 0;
}

改了一下

img

img