1.第一步是找出元素要插入的位置
第二步是将插入位置的元素以及后面的元素全部往后位移。
#include<stdio.h>
int main(){
int a[11],j,i,t,g,s;//由于等会元素会增加所以a[11],随便输入一个数组。
for(i=0;i<10;i++){
scanf("%d",&a[i]);
}
for(i=0;i<10;i++){
printf("%d",a[i]);
}
printf("\n");
for(i=0;i<9;i++){
for(j=i+1;j<10;j++){
if(a[i]>a[j]){//选择排序把数组从小到大排序
t=a[i],a[i]=a[j],a[j]=t;
}
}
}
for(i=0;i<10;i++){
printf("%d",a[i]);
}
printf("\n");
scanf("%d",&s);
if(s>a[9])//如果插入的数大于数组中的最大值,那么就把最大值的后一位直接赋值
a[10]=s;
else{
for(i=0;i<10;i++){
if(a[i]>s){
t=a[i];
a[i]=s;
for(j=i+1;j<11;j++){//将a[i]与a[i+1]往后挪
] g=t;t=a[j],a[j]=g;
}
break;
}
}
}
for(i=0;i<11;i++){//最后输出
printf("%d",a[i]);
}
}