有序数组插入数据有序。在一个按升序排序的数组中查找x应插入的位置,将x插入数组中,使数组元素仍按升序排列。
注意:定义的数组大小不超过20。例如升序数组里面有5个元素(1 3 5 7 9),待插入数据4,插入后的数组(1 3 4 5 7 9)仍然有序。
**输入格式要求:"%d"
**输出格式要求: "%4d"
程序运行示例如下:
输入:5
输入:1 3 5 7 9
输入:4
输出: 1 3 4 5 7 9
#include<stdio.h>
#define N 20
int main()
{
int a[N] , x;
int i, j, m;
scanf("%d", &x);
for (i = 0; i < x; i++)
{
scanf("%d", &a[i]);
}
scanf("%d", &m);
for (i = 0; i < x; i++)
{
if (m < a[i])
{
j = i;
break;
}
else j = x;
}
for (i = x; i > j; i--)
{
a[i] = a[i - 1];
}
a[j] = m;
for (i = 0; i <= x; i++)
{
printf("%4d", a[i]);
}
return 0;
}