从键盘输入一个整数,从后往前搜索比较,将该数插入到一个有序的有7个整数的数组中并保持有序。输入:(1)、7个有序的整数用空格隔开。(2)、要插入的一个整数;输出:8个有序的整数,用空格隔开。
从后往前的意思是总已有数组的最后一个数开始比较吧。你还没说这个有序是递增还是递减呢
代码如下:
#include <stdio.h>
int main()
{
int a[10],i,j,k;
printf("请输入7个有序整数:");
for(i=0;i<7;i++)
scanf("%d",&a[i]);
printf("请输入要插入的数:");
scanf("%d",&k);
if(k>a[6])
a[7] = k;
else if (k < a[0] )
{
for(i=7;i>0;i--)
a[i]= a[i-1];
a[0] = k;
}
else
{
for (j=6;j>=0;j--)
{
if (k > a[j])
{
for(i=7;i>j+1;i--)
a[i] = a[i-1];
a[j+1] = k;
break;
}
}
}
//显示
for (i=0;i<8;i++)
{
printf("%d ",a[i]);
}
return 0;
}