2019-03-19C语言学习41-有一个已待排序好的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。

1.有一个已待排序好的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。

设计思路:

插入的数与最后的数做比较,如果大于最后的数,直接插入到末尾;

如果不是,则与a[0]-a[i]的数做比较,比a[i]小的话,则插入到a[i]位置,a[i]元素往后移。



代码:

# include

int main()

{

int i,j,end,number,temp1,temp2;

int a[11]={1,4,6,8,13,16,19,28,40,100};

printf("array a: \n");

for(i=0;i<10;i++)

printf("%5d",a[i]);

printf("\n");

printf("insert data:");

scanf("%d",&number);

end=a[9];

if(number>end)

end=number;

else

{for(i=0;i<10;i++)

{if(a[i]>number)

{temp1=a[i];

a[i]=number;

for(j=i+1;j<11;j++)

{

  temp2=a[j];

    a[j]=temp1;

temp1=temp2;

}

break;

}

}

}

printf("now array a: \n");

for(i=0;i<11;i++)

printf("%5d",a[i]);

printf("\n");

return 0;

}

结果展示:


你可能感兴趣的:(2019-03-19C语言学习41-有一个已待排序好的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。)