供参考:
#include <stdio.h>
#define N 10
void main()
{
int i,j,t,a[N+1]={9,3,34,56,12,7,2,88,36,77},num;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
printf("从小到大排序为:");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入插入的一个数:");
scanf("%d",&num);
if(num>a[N-1]) a[N]=num;
else if(num<a[0]){
for(i=N-1;i>=0;i--)
a[i+1]=a[i];
a[0]=num;
}
else{
for(i=N-1;i>=0;i--)
if(num<a[i])
a[i+1]=a[i];
else{
a[i+1]=num;
break;
}
}
for(i=0;i<N+1;i++)
printf("%d ",a[i]);
printf("\n");
}
先排序,排序完比较当前数放在哪里合适,插入进去即可,后续数向后挪一位