从键盘输入一个有序数列和一个待插入数key,将其插入到数组中,使数组依然保持升序。
//输入:16 36 68 99 100 64
//输出:16 36 64 68 99 100
哪里有问题呀?
第一个for循环i<5,不然插到最后时数组越界了
修改如下,供参考:
#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;
}